问题描述
<action name="Test" path="/logon" type="com.sve.Logon" validate="false" scope="request"> <set-property property="method" value="view"/> <set-property property="permission" value="platform:common.page"/> <set-property property="helpId" value="reporting.reportLandingPage"/> <forward name="View" path="reporting"/> </action> 这个<set-property/>的作用是什么?求解... 问题补充:<div class="quote_title">ystianyu 写道</div><div class="quote_div"><set-property/>就是设置属性的值</div><br />看名称就知道了!请你详解一下 有例子更好,谢谢!
解决方案
<set-property/>就是设置属性的值
解决方案二:
<set-property> 是用来读取配置,并填充到 Class.forName( 'Action的type ').newInstance() 后得到的实例中去,<set-property property="method" value="view"/> 就相当于你先 com.sve.Logon action = new com.sve.Logon(); 然后 action.setMethod( "view"); 后面两句类似。这个主要是给 Action 提供一些其他初始化的机会,比如你的一个 Action 类配置在多个 ActionMapping 中,并且在不同的 ActionForm 中作类似但是不同的情, 或者你需要读取一些配置信息等。 struts-config.xml中所有的 <set-properties>都是这样用的,也就是说你的 那个class属性或 type属性对应的类有一个对应的property Setter方法,如上例中就是 : public class Logon{ private String method; private String permission; private String helpId; public void setMethod(String method){ this.method= method; } public void setPermission(String permission){ this.permission= permission; } public void setHelpId(String helpId){ this.helpId= helpId; } public ActionForward execute( .../ } }