在jsp也页面中,经过el表达式去取出对象中的get方法的时候报错
在jsp也页面中,通过el表达式去取出对象中的get方法的时候报错servelet中的代码:ListUserVo listSqlDao.
在jsp也页面中,通过el表达式去取出对象中的get方法的时候报错 servelet中的代码: List<UserVo> list=SqlDao.getAll(userEmail); UserVo user=(UserVo)list.get(0); //System.out.println(user.getRegDate()); request.setAttribute("user",user); request.getRequestDispatcher("welecome.jsp").forward(request,response); jsp中的代码: ${user.getUserName()} 通过传递过来的user这个对象,去操作它的get方法不行,会报错。 错误信息: 严重: Servlet.service() for servlet jsp threw exception org.apache.jasper.JasperException: /welecome.jsp(433,13) The function getUserName must be used with a prefix when a default namespace is not specified。。。。。。 java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[最优解释]
引用: 引用: 引用${user.getUserName()} 通过传递过来的user这个对象,去操作它的get方法不行,会报错。 把这段代码换成 Java code12${requestScope.user.userName} // 最好指定查找范围,可以提高查找效率 可是我要通过get方式取出来,那怎么办? ${logininfo.username} 是下面两句话的编码简化写法
LoginInfo logininfo =(LoginInfo)session.getAttribute(“logininfo”);
String username = logininfo.getUsername();
懂了吗?
[其他解释] el去取的表达式值的时候就是通过调用你的get方法实现的,所以在使用el的时候直接用${对象名(即你存储的user).属性名(即你书写的private属性,但是必须有get方法)}。
[其他解释] 楼上说的对,el本身就会调用get方法。
如果你非要加上get,可以用
<%
user.getUserName()
%>
[其他解释] 引用 ${user.getUserName()} 通过传递过来的user这个对象,去操作它的get方法不行,会报错。 把这段代码换成
${requestScope.user.userName} // 最好指定查找范围,可以提高查找效率[其他解释] 引用: 引用${user.getUserName()} 通过传递过来的user这个对象,去操作它的get方法不行,会报错。 把这段代码换成 Java code12${requestScope.user.userName} // 最好指定查找范围,可以提高查找效率 可是我要通过get方式取出来,那怎么办?
[其他解释] 该回复于2012-11-13 01:02:47被管理员删除
[其他解释] 引用: 引用:引用: 引用${user.getUserName()} 通过传递过来的user这个对象,去操作它的get方法不行,会报错。 把这段代码换成 Java code12${requestScope.user.userName} // 最好指定查找范围,可以提高查找效率 …… 非常感谢。问题已解决!