在開發中一般不會說將所有的配置都放在struts.xml這個一個配置文件中去,因為這樣會使得整個配置文件臃腫不堪無法維護,一般來說會進行分模塊的進行配置文件的編寫。下面來演示一下分模塊來進行配置
其實很簡單,首先在需要的分模塊配置文件寫出來,比如
[java]
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
-
- <struts>
-
-
- <package name="bird" namespace="/test" extends="struts-default">
- <action name="helloworld_*" class="com.bird.action.HelloWorld" method="{1}">
-
- <result name="success">/WEB-INF/jsp/hello.jsp</result>
- </action>
- </package>
-
-
-
- </struts>
然後在struts.xml文件中使用include標簽就可以完成將這個配置文件移入裡面去的功能
[java]
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
-
- <struts>
- <constant name="struts.action.extension" value="do,action"></constant>
-
- <include file="employee.xml"></include>
- <include file="user.xml"></include>
- </struts>
在struts.xml文件中一般只是配置一些全局文件需要的東西,比如一些常量。
下面來說一下動態方法調用,所謂的動態方法調用其實就是通過地址參數來選擇調用哪些方法,而不是默認的execute方法,先看一下代碼
[java]
- package com.bird.action;
-
- public class HelloWorld {
-
- private String message;
-
-
- public String getMessage() {
- return message;
- }
-
-
- public void setMessage(String message) {
- this.message = message;
- }
-
-
- public String execute(){
- // message = "我的第一個Struts2應用";
- message = "execute";
- return "success";
- }
-
- public String addUI(){
- message = "addUI";
- return "success";
- }
- }