struts2有自己的标签库,有自己的参数管理方式。现在已经不支持与EL表达式的混用,在struts tags中只能用OGNL来处理参数。我也是后来才知道,感觉这样给我带来了很多麻烦,不知道为什么新版的struts要取消对EL的支持。
当时遇到的最头疼的一个问题就是,在一个jsp页中include另外一个页面,但是需要传参到这个被包含的页面。于是乎这样写:
但是b.jsp取不到参数。查了很多资料,说是必须写成 <s:param name="index"><s:property value="id"/></s:param>的形式,原因不明。
现在参数可以传过来了,但在b.jsp中只能这样取到参数:${param.index}。杯具就是从这里开始的。
因为struts2标签不能与EL表达式混用,又由于当时脑子极度短路,硬是要用struts的hidden标签,写成:
以及其他种种情况,都取不到值。
最后只能用最原始的html标签<input type="hidden" name="noticeId" value="<s:property value="index"/>"/>解决。
在用struts2标签的过程中,它的标签不能嵌套也非常麻烦。