1. 解压struts-2.3.4-all.zip
2. 解压struts-2.3.4-all\apps\struts2-blank.war
3. 拷贝struts2-blank\WEB-INF\lib下所有jar包到工程web-inf\lib下
4. 拷贝struts2-blank\WEB-INF\web.xml文件中以下内容到工程下的web.xml文件中
<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>
5. 拷贝struts2-blank\WEB-INF\classes\struts.xml到工程src目录下
并修改:
Eg:
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="login" class="com.etc.web.LoginAction" method="checkuser">
<result name="success">/pages/login-success.jsp</result>
<result name="error">/pages/login-error.jsp</result>
</action>
</package>
</struts>
Action实现方式:
1. 普通java类
2. 实现action接口 实现execute方法
3. 继承ActionSupport类
取值方式:
1. 成员属性set方法取值
2.成员实体属性
Page:
<form action="loginthree">
username:<input type="text" name="person.name" value=""/>
userpass:<input type="password" name="person.pass" value=""/>
<input type="submit" value="登陆"/>
</form>
Action:
public class LoginActionThree extends ActionSupport {
private Person person;
@Override
public String execute() throws Exception {
System.out.println("LoginActionThree.execute");
System.out.println(person.getName()+":"+person.getPass());
return "successs";
}
public String checkuser(){
System.out.println("LoginActionThree");
System.out.println(person.getName()+":"+person.getPass());
return "successs";
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
}
Person.java
public class Person {
private String name;
private String pass;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
}
2. 实现ModelDriven接口,实现getModel方法,*成员实体必须实例化。
动态方法调用:
struts.xml配置:
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
<action name="usermanager" class="com.etc.web.UserManagerAction">
<result name="list">/pages/user-list.jsp</result>
<result name="error">/pages/login-error.jsp</result>
</action>
Page:
<form action="usermanager!add">
add user
username:<input type="text" name="name" value=""/>
userpass:<input type="password" name="pass" value=""/>
<input type="submit" value="add"/>
</form>
<form action="usermanager!update">
add user
username:<input type="text" name="name" value=""/>
userpass:<input type="password" name="pass" value=""/>
<input type="submit" value="update"/>
</form>
<form action="usermanager!dele">
add user
username:<input type="text" name="name" value=""/>
userpass:<input type="password" name="pass" value=""/>
<input type="submit" value="dele"/>
</form>
<form action="usermanager!find">
add user
username:<input type="text" name="name" value=""/>
userpass:<input type="password" name="pass" value=""/>
<input type="submit" value="find"/>
</form>