本节主要知识点:实体对象形式的 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: 网页编程
学习了谢谢分享