本节主要知识点:实体对象形式的 ActionBean 属性
实例:模拟用户注册过程
- 建立工程
- 引入 Struts 类库
- 编写 用户信息 的 javabean (User.java)
public class User {
private String userName;
private String userPass;
//...
}
/**
* 简化注册过程
* 用户名与密码相同表示注册成功,否则表示注册失败!
* @param user
* @return
*/
public class RegModel {
public boolean regUser(User user) {
return user.getUserName().equals(user.getUserPass());
}
}
<!-- index.jsp -->
<%@ page language="java" pageEncoding="gb2312"%>
<form action="regAction.do" method="post">
<table>
<tr>
<td>username</td>
<!--控件名称:对象.属性名-->
<td><input type="text" name="user.userName" /></td>
</tr>
<tr>
<td>userpass</td>
<!--控件名称:对象.属性名-->
<td><input type="text" name="user.userPass" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Reg"/></td>
</tr>
</table>
</form>
<!-- result.jsp -->
<%@ page language="java" pageEncoding="gb2312"%>
<h1>${result}</h1>
![]()
注意:如果 ActionForm 对象属性 为 对象类型 则必须编辑 Struts 生成的 ActionForm 类对其进行实例化
//...
public class RegForm extends ActionForm {
/*
* Generated fields
*/
/** 对ActionForm 属性进行实例化*/
private User user = new User();
//...
//....
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
RegForm regForm = (RegForm) form;
// 从 ActionBean 中取得 用户数据的对象
User user = regForm.getUser();
//调用模型 实现注册并将结果保存至 REQUEST 作用域
RegModel regModel = new RegModel();
if (regModel.regUser(user)) {
request.setAttribute("result", "注册成功!");
}
else {
request.setAttribute("result", "注册失败");
}
//实现跳转
return mapping.findForward("result");
}
//....
Categories: 网页编程
学习了谢谢分享