首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

struts2中怎么把Action中的值,付给前台页面JSP表达式中

2012-03-21 
struts2中如何把Action中的值,付给前台页面JSP表达式中?在Action中,有一个已经写好get和set的变量aa,前台

struts2中如何把Action中的值,付给前台页面JSP表达式中?
在Action中,有一个已经写好get和set的变量aa,前台页面中有一个输出title的方法,这个方法是在表达式当中的,如<%PubTagLib.printSubTitle(aa);%> Action中的变量想要在前台页面中显示就必须用struts2的标签,但是如何把变量传到表达式中?
我想一个办法是用request,不知行不行,如果行的话,该如何在ACTION中将aa放在request?
除此之外还有没有别的办法?
请各路高手指教,谢谢

[解决办法]
value="%{aa}"
[解决办法]
用了struts2就不要用jsp表达式了吧
[解决办法]

探讨
不行啊,是要在JSP表达式当中 <%PubTagLib.printSubTitle(%{aa});%> 无法用标签的

[解决办法]
Java code
ValueStack vs=request.getParame("ValueStack");//用valuestack来取,action传过来的都放再里面,具体怎么写我忘了,楼主去google  struts2 valuestack 或 jsp valuestack 应该就有了
[解决办法]
requestScope.aa
[解决办法]
com.opensymphony.xwork2.util.OgnlValueStack valueStack = (OgnlValueStack) request.getAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY);

//其中ServletActionContext是org.apache.struts2.ServletActionContext,即: public static final String STRUTS_VALUESTACK_KEY = "struts.valueStack";

Object obj = iognlvstack_Stack.findValue("valName");
[解决办法]
request.setAtrribut("value",aa);
[解决办法]
因为你在action里已经实现了 aa的 get和set方法了.
其实你在页面上直接调用struts2的标签就行<s:property value="aa" />
[解决办法]
El表达式${requestSope.xxx}

jsp表达

<%=request.getAttribute("xxx")%>


struts2标签
<s:property value="xxx" />

[解决办法]
up
[解决办法]
探讨
解决了,在Action里将aa赋好值,然后前台页面直接写 <%String aa = (String)request.getAttribute("aa");%>就可以得到Action里将aa的值
不过我不太明白,我在Action里也没有写request.setAttribute之类的代码,为什么前台就能直接request.getAttribute("aa")呢?难道说是struts2的机制里就隐含着setAttribute()了吗

热点排行