我在action中用如下方法,返回一个bean对象到jsp:
ActionContext.getContext().put("user", user);在jsp中,有如下代码:
<s:textfield name="username" value="${user.username}"></s:textfield>为什么打开会出错呢?(500的错)
经测试,是value="${user.username}"这句问题,
而我单单把${user.username}这个放在其它地方,可以得到值,说明:user并非空指针,那为何会出错呢?
我在struts1.2的<html:text>中,使用value="${user.username}"都没问题的.
ActionContext.getContext().put("user", user);在jsp中,有如下代码:
<s:textfield name="username" value="${user.username}"></s:textfield>为什么打开会出错呢?(500的错)
经测试,是value="${user.username}"这句问题,
而我单单把${user.username}这个放在其它地方,可以得到值,说明:user并非空指针,那为何会出错呢?
我在struts1.2的<html:text>中,使用value="${user.username}"都没问题的.
解决方案 »
- 关于div css的小问题
- Spring Bean管理中自动绑定不成功,求教
- 选型的问题: 能否大致比较一下weblogic和websphere的优劣?
- 关于Struts2的标签的使用
- ejb高手进
- md5的代码报错,请问错在哪里?
- Hibernate如何配置操作多个数据库。 SPRING+Hibernate应该怎么实现呢?
- hibernate提示表不存在的问题?
- 请教,关于jdom的问题
- 为什么我写的applet读写xml程序在jbuilder中可以用,但打成JAR放在tomcat下时,就不能用了?
- 已经在ibatis中取得数据,怎么能把他调入jsp页面显示?
- 高分紧急求助,客户端访问Web Service问题!!!
一样的出错,既然在别的地方可以取到值,说明,request里有值的,跟这个没关系的.
javax.servlet.ServletException: org.apache.jasper.JasperException: /jsp/userInfo.jsp(121,9) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:422)
是不是<s:textfield >标签不支持表述式语言呢?
然后下面改为:
<s:textfield name="username" value="%{#user.username}"> </s:textfield>
13楼的回答应该是正确的,但是Action中要有User对象,并且要有对应的get,set方法!
其实按照楼主的方式应该是这样来做的
<s:textfield name="username" value="%{#session.user.username}"> </s:textfield>
再取得username.username如何?
不然出错,返回input的时候,再次去读取数据,而不是保存刚才填入的数据怎么办?
改为2.3版本的<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
2. 使用JSTL core RT库JSTL core库的有两种taglib伪指令, 其中RT库即是依赖于JSP传统的请求时属性值, 而不是依赖于EL来实现(称为EL库.JSP2.0将支持EL)JSP中使用<%@ taglib uri=http://java.sun.com/jstl/core prefix="c"%>在2.3版本都可以,在2.4就不行了, 难道是版本不兼容吗?只要将<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
改为<%@ taglib uri=http://java.sun.com/jstl/core_rt prefix="c"%>
<s:textfield name="username" value="%{#user.username}"> </s:textfield>