提示报错如下:(请大神帮忙解决) Type mismatch: cannot convert from Object to String

从servlet--->jsp页面:内部跳转。
在servlet页面中如下://num为整型
request.setAttribute("pnum", num);
在jsp页面中如下:
String pnum=request.getAttribute("pnum");

提示报错如下:Type mismatch: cannot convert from Object to String,是设置错误造成的,解决方法如下:

1、首先打开idea软件,新建一个名为jspDemo的项目。如图是新建项目的目录结构。

2、然后在web文件下的index.jsp文件中输入如下代码。

3、然后在src目录下,创建一个名为indexServlet的java文件,并输入代码。

4、接着,在web>WEB-INF目录下的web.xml文件中的web-app标签内,输入如下代码。

5、接着,使用鼠标右键单击index.jsp文件,选择【Run 'index.jsp'】,运行程序。

6、最后点击按钮后,会跳转到到servlet中,并在页面中输入填写的信息,就完成了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-21
无法将对象直接转换成String. request.getAttribute("pnum")这个获取到的是一个Object,不能直接转换为String,利用强制转换 int pnum=(Integer)request.getAttribute("pnum"); 而且应该转换成Integer对象,而不是String追问

int pnum=Integer.parseInt(request.getParameter("pnum"));也是报同样的错

追答

那你检查一下是不是你的编译环境的问题。 web项目---属性---编译环境,把编译的级别改的高一点试一下。比如1.5,1.6

本回答被提问者采纳

...Type mismatch: cannot convert from Object to String
提示报错如下:Type mismatch: cannot convert from Object to String,是设置错误造成的,解决方法如下:1、首先打开idea软件,新建一个名为jspDemo的项目。如图是新建项目的目录结构。2、然后在web文件下的index.jsp文件中输入如下代码。3、然后在src目录下,创建一个名为indexServlet的java文件,并输入...

...Type mismatch: cannot convert from Object to String
无法将对象直接转换成String. request.getAttribute("pnum")这个获取到的是一个Object,不能直接转换为String,利用强制转换 int pnum=(Integer)request.getAttribute("pnum"); 而且应该转换成Integer对象,而不是String

...Type mismatch: cannot convert from Object to String
回答:无法将对象直接转换成String. request.getAttribute("pnum")这个获取到的是一个Object,不能直接转换为String,利用强制转换 int pnum=(Integer)request.getAttribute("pnum"); 而且应该转换成Integer对象,而不是String

Type mismatch: cannot convert from void to String 是怎么回事啊...
你检查一下,是不是你调用的方法返回为空,但是在你调用的时候你将这个方法的返回值赋给了一个String类型的变量

...总是提示:Type mismatch: cannot convert from boolean to int_百...
不能把布尔值转为整型 x==0

怎么解决 Type mismatch: cannot convert from element type Object...
问题意思是说 一个元素不能从Object类型转换成Document类型。我试了你的代码,for循环里list转ch出的错,你只要给list加一个泛型就可以了。StringBuffer buffer = new StringBuffer();\/\/看这里↓ List<Channel> list = this.channelManager.getChannelListByFather(Integer.valueOf(block.getContent()))...

怎么解决 Type mismatch: cannot convert from element type Object...
给list加一个泛型就可以了。这样:List<Channel> list = this.channelManager.getChannelListByFather(Integer.valueOf(block.getContent()));if (list != null) { buffer.append("<ul>");for (Channel ch : list) { buffer.append("<li><a href=").append(new StringBuilder().append(mark)...

Type mismatch: cannot convert from BigDecimal to List<>错误如何解决...
给list加一个泛型就可以了。这样:List<Channel> list = this.channelManager.getChannelListByFather(Integer.valueOf(block.getContent()));>").toString()).append(ch.getName()).append("<\/a><\/li>");}

...Type mismatch: cannot convert from Object to Member
this.getHibernateTemplate().get(Member.class, id);获取到的是Object类型,你的返回值是Member类型,错误提示是不能从object转换成Member类型

...循环Type mismatch: cannot convert from int to boolean
如果是则修改for(i=0;i;i<10)至for(i=0;i<10;i++)至于报 cannot convert from int to boolean 是因为在for的非增强表达式中,第二个字段是要求输入一个boolean的表达式的,比如i<10 但是你输入的是i,jdk自然会认为你要将i转换为boolean,但是这两个之间是不能直接转换的,所以报错。

相似回答