在开发中一般不会说将所有的配置都放在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";
- }
- }