用DomainModel接收参数(模型驱动)
如果要接受的参数的个数很多,可以不用定义属性而是直接定义一个对象。
前台代码:
……
<!-- 用超链接传参 -->
<a href="DoMainModel?user.userName=123&user.passWord=234">DoMainModel?user.userName=123&user.passWord=234"</a>
<!-- 用form表单提交传参 -->
<form action="DoMainModel" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input name="user.userName" type="text"></td>
</tr>
<tr>
<td>密码:</td>
<td><input name="user.passWord" type="password"></td>
</tr>
<tr>
<td colspan="2"><input value="登录" type="submit"></td>
</tr>
</table>
</form>
……
/**
* ClassName: User
* @Description: TODO 用DomainModel接收参数(模型驱动) 模型
* @author admin
* @date 2015-9-7
*/
public class User {
private String userName;
private String passWord;
/**
* @return the userName
*/
public String getUserName() {
return userName;
}
/**
* @param userName the userName to set
*/
public void setUserName(String userName) {
this.userName = userName;
}
/**
* @return the passWord
*/
public String getPassWord() {
return passWord;
}
/**
* @param passWord the passWord to set
*/
public void setPassWord(String passWord) {
this.passWord = passWord;
}
}
/**
* ClassName: UserAction
*
* @Description: TODO 用DomainModel接收参数(模型驱动) 业务实现层
* @author admin
* @date 2015-9-7
*/
public class UserAction extends ActionSupport {
private User user;
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.println("userName:" + user.getUserName());
System.out.println("passWord:" + user.getPassWord());
return "success";
}
/**
* @return the user
*/
public User getUser() {
return user;
}
/**
* @param user
* the user to set
*/
public void setUser(User user) {
this.user = user;
}
}
<package name="DoMainModel" extends="struts-default" namespace="/">
<action name="DoMainModel" class="user.action.UserAction">
<result>/success.jsp</result>
</action>
</package>