我的SSH项目之旅(2.用户注册–前台)
user表的结构如下
加入struts
采用DispatchAction
Struts-config.xml
errors.jsp
="inc/template.html"/>
</body>
<META NAME="Generator" CONTENT="Struts + Spring + Hibernate + MySQL + Tomcat + CP">
</html:html>
参考struts的API
public class ActionErrors
extends ActionMessages
implements java.io.Serializable
Action
saveErrors(javax.servlet.http.HttpSession session, ActionMessages errors)
Save the specified error messages keys into the appropriate session attribute for use by the <html:messages> tag (if messages="false") or <html:errors>, if any error messages are required.
Userform.java
加多三个属性(注意都要生成setter和getter方法)
// 4:表示修改密码
)) {
}
UserAction.java
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package dj.fantlam.myssh.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.actions.DispatchAction;
import dj.fantlam.myssh.struts.form.UserForm;
/**
* MyEclipse Struts
* Creation date: 07-15-2008
*
* XDoclet definition:
* @struts.action path="/user" name="userForm" input="error.jsp" parameter="status" scope="request" validate="true"
*/
UserAction是继承自DispatchAction的,根据传来的status的值判断交给那个ActionForward处理
public class UserAction extends DispatchAction {
/*
* Generated Methods
*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward register(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserForm userForm = (UserForm) form;// TODO Auto-generated method stub
/* ActionErrors和ActionMessages的关系如下
* public class ActionErrors extends ActionMessages implements
* java.io.Serializable
*
*
* 类Action
* saveErrors(javax.servlet.http.HttpSession session,
* ActionMessages errors) Save the specified error messages keys into
* the appropriate session attribute for use by the <html:messages>tag
* (if messages="false") or <html:errors>, if any error messages are required.
*/
//验证输入的验证码是否正确
String ccode=(String)request.getSession().getAttribute("ccode");
String checkcode=userForm.getCheckcode();
if(!(ccode.equals(checkcode))){
ActionMessages errors=new ActionMessages();
errors.add("ccode", new ActionMessage("checkcode.error"));
super.saveErrors(request, errors);
return mapping.getInputForward();
}
return null
;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserForm userForm = (UserForm) form;// TODO Auto-generated method stub
return null;
}
}