第六記:struts.xml引入多個配置文件,動態方法調用和參數獲取
(1)、引入多個struts的配置文件
<include file="struts_user.xml" />
<include file="struts_person.xml" />
(2)、動態方法調用
2-1:url指定方法名訪問:
如:useraction!userinfo.action,表示調用useraction的userinfo方法。
2-2:配置常量實現動態方法調用
<constant name="Struts.enable.DynamicMethodInvocation" value="true"/>
2-3:使用通配符訪問
<action name="user_*" class="com.controller.UserAction" method="{1}">
<result>/index.jsp</result>
</action>
如果UserAction擁有兩個方法:a和b
則調用時可以這樣寫:user_a.action,user_b.action。
(3)、參數獲取:利用屬性或對象的反射實現
3-1:在Action類裏面添加參數字段
如:public class UserAction{
private String name;
public void setName(String name){//此方法必不可少
this.name=name;
}
//other methods ....................
}
注意:字段名和set後面的名稱一致。
此參數獲取不區分get/post方式,其本質都是調用HttpRequest的getParameter方法獲取的。
3-2:對象數據類型(複合類型)反射接收參數
public class UserAction{
private Person person;
public void setPerson(String person){//此方法必不可少
this.person=person;
}
public String saveUser(){
return "SUCCESS";
}
}
表單字段可以是person.id,person.name;
JSP頁面接收EL表達式:ID=${person.id},Name=${person.name}