J2EE开发各类资源下载清单, 史上最全IT资源,个人收藏总结!
(1)对于Action中的属性,可以通过两种方式设值:一是在Action中直接赋值,二是在struts2的配置文件中为Action的属性注入值。如:
<action name="setter" class="edu.action.AttributeAction" method="attribute">
<param name="userName">zhangsan user</param>
<result name="showParam">/page/showParam.jsp?userName=${userName}</result>
</action>
在调用Action的attribute()方法之前,struts2会查找调用setUserName()方法,会Action的成员变量赋值,而不是查找userName属性。
(2)在result中还可以使用${属性名}表达式访问action中的属性,表达式里的属性名对应action中的属性,注意:这里不能写成${requestScope.属性名}
<result name="showParam">/page/showParam.jsp?userName=${userName}</result>
(3)struts在将请求转发给<result>的url时,会将getter方法的属性值(这里不是根据成员变量值)保存在requestScope作用域中,如果<result>的url上带有参数并且是通过转发处理客户端的请求的话,那么在jsp中可以通过${param.属性名}或者${requestScope.属性名}来访问。
(4)在配置文件中使用依赖注入方式为Action的属性赋值,其赋值是在调用method()方法之前完成的.
AttributeAction.java
showParam.jsp
struts.xml
浏览器上输入:http://localhost:8080/Struts2_02/attribute/setter