Struts2六、为应用指定多个配置文件

为了使用Struts.xml更简洁,更利于维护,我们可以把Struts.xml要配置的Action信息分类别放在其他的XML文件中,使用include在struts.xml中加载这些文件;

将Web.xml中的filter-mapping拦截设置为拦截所有url:

 <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>


首先是struts.xml

<struts>
	<constant name="struts.action.extension" value="do"></constant>
	<constant name="struts.118n.encoding" value="UTF-8"></constant> 
	<include file="employee.xml"></include>
	<include file="user.xml"></include>
</struts>    

然后分别配置这两个xml文件:

<struts>
	<package name="employeePackage" namespace="/col/employee" extends="struts-default" >
		<action name="employee_*" class="cn.actions.EmployeeAction" method="{1}" >
			<param name="message">员工</param>
			<result name="message">/WEB-INF/pages/message.jsp</result>
		</action>
	</package>
</struts>    

<struts>
	<package name="userPackage" namespace="/col/user" extends="struts-default" >
		<action name="user_*" class="cn.actions.UserAction" method="{1}" >
			<param name="message">用户</param>
			<result name="message">/WEB-INF/pages/message.jsp</result>
		</action>
	</package>
</struts>    


然后配置Action,两个Action的内容是相同的:

public class EmployeeAction {

	private String message;

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}
	
	public String view(){
		return "message";
	}
}


Message.jsp页面:

<body>
    	${message }
  </body>


访问地址:

http://localhost:9000/Struts21/col/user/user_view.do

http://localhost:9000/Struts21/col/employee/employee_view.do

posted @ 2015-09-28 17:00  Bodi  阅读(381)  评论(0编辑  收藏  举报