s标签获取action的值为空解决办法
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
struts.xml
t.jsp
------解决方案--------------------
楼主自问自答了~~~~~
------解决方案--------------------
使用 HttpServletRequest req = ServletActionContext.getRequest();
在页面取要这样<s:if test="#request.l==null">666666</s:if>
建议多看看<s:debug></s:debug>
------解决方案--------------------
action没有继承ActionSupport
代码如下,从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