1.使用Action的属性接收参数
1).创建视图
login.jsp
<body>
<h2>用户登录</h2>
<form action="UserLogin" method="post">
用户名:<input type="text" name="username" /><br />
密码:<input type="password" name="password" /><br />
<input type="submit" value="登录" />
</form>
</body>
welcome.jsp
<body>
Successful user login!
</body>
2).创建Action
LoginAction.java
package org.bigjava.web.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.println("用户名:" + username + "密码:" + password);
return SUCCESS;
}
}
3).编辑struts.xml文件
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!-- 启用开发者模式,反馈跟多错误信息 -->
<constant name="dev.Mode" value="true" />
<package name="login" extends="struts-default" namespace="/">
<action name="UserLogin" class="org.bigjava.web.action.LoginAction">
<result>
/welcome.jsp
</result>
</action>
</package>
</struts>
5).把项目部署到tomcat上
浏览器访问http://127.0.0.1:8080/Struts2_TransferParam/login.jsp
控制台输出用户名和密码
2.使用DomainModle接受参数
1).创建视图
login.jsp
<body>
<h2>用户登录</h2>
<form action="UserLogin" method="post">
用户名:<input type="text" name="user.username" /><br />
密 码:<input type="password" name="user.password" /><br />
<input type="submit" value="登录" />
</form>
</body>
welcome.jsp同上不变
2).创建User实体类
User.java
package org.bigjava.entity;
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
3).创建Action
LoginAction.java
package org.bigjava.web.action;
import org.bigjava.entity.User;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.println("用户名:" + user.getUsername() + " 密码:" + user.getPassword());
return SUCCESS;
}
}
4).编辑struts2.xml(同上)
5).把项目部署到tomcat服务器上浏览器访问http://127.0.0.1:8080/Struts2_TransferParam/login.jsp
3.使用ModerDriven接收参数
1).创建视图
login.jsp
<body>
<h2>用户登录</h2>
<form action="UserLogin" method="post">
用户名:<input type="text" name="username" /><br />
密 码:<input type="password" name="password" /><br />
<input type="submit" value="登录" />
</form>
</body>
welcome.jsp同上
2).创建Action
LoginAction.java
package org.bigjava.web.action;
import org.bigjava.entity.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
public class LoginAction extends ActionSupport implements ModelDriven<User> {
// 数据模型对象实例化
private User user = new User();
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.println("用户名:" + user.getUsername() + " 密码:" + user.getPassword());
return SUCCESS;
}
// 实例化接口方法,返回我们的数据模型对象
@Override
public User getModel() {
// TODO Auto-generated method stub
return user;
}
}
3).创建实体类
User.java同上
4).编辑struts.xml(同上)
5).把项目部署到tomcat服务器上浏览器访问http://127.0.0.1:8080/Struts2_TransferParam/login.jsp