在result中还可以使用${属性名}表达式访问action中的属性

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

在result中还可以使用${属性名}表达式访问action中的属性_第1张图片 

showParam.jsp

在result中还可以使用${属性名}表达式访问action中的属性_第2张图片

struts.xml

在result中还可以使用${属性名}表达式访问action中的属性_第3张图片

  浏览器上输入:http://localhost:8080/Struts2_02/attribute/setter

在result中还可以使用${属性名}表达式访问action中的属性_第4张图片



你可能感兴趣的:(在result中还可以使用${属性名}表达式访问action中的属性)