其实很简单,首先在需要的分模块配置文件写出来,比如
< xml version="1.0" encoding="UTF-8" >
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
< xml version="1.0" encoding="UTF-8" >
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
然后在struts.xml文件中使用include标签就可以完成将这个配置文件移入里面去的功能
< xml version="1.0" encoding="UTF-8" >
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
< xml version="1.0" encoding="UTF-8" >
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
在struts.xml文件中一般只是配置一些全局文件需要的东西,比如一些常量。
下面来说一下动态方法调用,所谓的动态方法调用其实就是通过地址参数来选择调用哪些方法,而不是默认的execute方法,先看一下代码
package com.bird.action;
public class HelloWorld {
private String message;
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";
}
}
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";
}
}
如果不指定则调用默认的execute方法,但是你可以在 浏览器的地址栏使用这个样的地址请求方式来进行调用addUI这个方法,具体地址如下
http://localhost:8080/Struts2/test/helloworld!addUI.action
就是在后面加上感叹号和具体需要调用的方法名称,当然了,struts的文档不推荐使用这种方式,所以我们可以在struts.xml文件an里面通过使用静态常量的方式来指定禁止使用这样的动态方法调用
### Set this to false if you wish to disable implicit dynamic method invocation
### via the URL request. This includes URLs like foo!bar.action, as well as params
### like method:bar (but not action:foo).
### An alternative to implicit dynamic method invocation is to use wildcard
### mappings, such as
struts.enable.DynamicMethodInvocation = true
### Set this to false if you wish to disable implicit dynamic method invocation
### via the URL request. This includes URLs like foo!bar.action, as well as params
### like method:bar (but not action:foo).
### An alternative to implicit dynamic method invocation is to use wildcard
### mappings, such as
struts.enable.DynamicMethodInvocation = true将这个参数置为false就可以禁止,那么我们将使用下面这样推荐的通配符方法来进行调用,只需要在Action的配置文件里面这样写就可以