struts2框架 初始别
struts2 流程概述
struts2的action 方法的访问配置多个
action结果页面的配置struts2 结果页面配置
struts2 servlet api 访问方式[3种]
备注
struts2 配置 struts.xml 提示配置
struts2配置文件的加载顺序以及 struts.xml package 的配置说明
struts2 action 3中书写方式
struts2 简单登录实例流程
struts2的常用配置
![]()
View Code<constant name="struts.configuration.xml.reload" value="true" /> <constant name="struts.devMode" value="true" />
struts2配置文件不用重启即可生效的
struts2 团队开发
struts2 小工具 插件
struts2 action 采集数据方式 有属性驱动(详细教程) 【pojo action类】或者ModelDriven模式[详细教程]
![](https://static.oschina.net/uploads/img/201703/01095259_fvWk.gif)
![](https://static.oschina.net/uploads/img/201703/01095259_Io3p.gif)
public class LoginAction implements Action, ModelDriven<User> {
public User user = new User();
// 默认情况下的方法
public String execute() throws Exception {
if ("admin".equals(user.getUsername())
&& "admin".equals(user.getUserpassword())) {
return SUCCESS;
}
return ERROR;
}
/**
* @param str
* @return
* @throws ParseException
*/
@Override
public User getModel() {
return user;
}
}
public class User {
private String username;
private String userpassword;
/**
* @return username
*/
public String getUsername() {
return username;
}
/**
* @param username
* the username to set
*/
public void setUsername(String username) {
this.username = username;
}
/**
* @return userpassword
*/
public String getUserpassword() {
return userpassword;
}
/**
* @param userpassword
* the userpassword to set
*/
public void setUserpassword(String userpassword) {
this.userpassword = userpassword;
}
}
创建user 对象,action 实现modeldriven接口 实现getModel()方法
在上面我们发现,用第一种属性驱动获取浏览器提交的数据,用户名,密码,这些少。当如果很多的时候呢?用这个是需要加好多类型,太费劲
因此我们直接用对象当作pojo的成员变量即可。具体如下:
![](https://static.oschina.net/uploads/img/201703/01095259_fvWk.gif)
![](https://static.oschina.net/uploads/img/201703/01095259_Io3p.gif)
public class LoginAction implements Action {
public User user;
/**
* @return user
*/
public User getUser() {
return user;
}
/**
* @param user
* the user to set
*/
public void setUser(User user) {
this.user = user;
}
// 默认情况下的方法
public String execute() throws Exception {
if ("admin".equals(user.getUsername())
&& "admin".equals(user.getUserpassword())) {
return SUCCESS;
}
return ERROR;
}
}
前台:
![](https://static.oschina.net/uploads/img/201703/01095259_fvWk.gif)
![](https://static.oschina.net/uploads/img/201703/01095259_Io3p.gif)
<body>
<form action="login.action" method="post">
用户名:<input type="text" name="user.username"><br> 密码:<input
type="password" name="user.userpassword"><br> <input
type="submit" value="提交">
</form>
</body>
更多详情复杂驱动模型
----------------------------------