读书人

s标签获取action的值为空解决办法

发布时间: 2012-03-07 09:13:51 作者: rapoo

s标签获取action的值为空
代码如下,从action里传了值过去,但在t.jsp中还是显示了666666,就是说 #l==null 判断为true,用c标签的话连list里的1、2、3都能迭代出??
但是我把HttpServletRequest req = ServletActionContext.getRequest();
改成ActionContext req = ActionContext.getContext();就一切正常了,t.jsp没有输出66666

Java code
public class TestAction {    public String test(){        List<Integer> l=new ArrayList<Integer>();        l.add(1);        l.add(2);        l.add(3);        HttpServletRequest req = ServletActionContext.getRequest();        req.setAttribute("l", l);        return "success";    }}


struts.xml
HTML code
<struts>    <package name="st9" extends="struts-default">        <action name="test" class="TestAction">            <result name="success">t.jsp</result>                </action>        </package></struts>


t.jsp
HTML code
<s:if test="#l==null">666666</s:if>


[解决办法]
楼主自问自答了~~~~~
[解决办法]
使用 HttpServletRequest req = ServletActionContext.getRequest();
在页面取要这样<s:if test="#request.l==null">666666</s:if>
建议多看看<s:debug></s:debug>
[解决办法]
action没有继承ActionSupport

读书人网 >Java Web开发

热点推荐