下面我们编写生成的文件<o:p></o:p>
<o:p> </o:p>
首先LogonForm.java文件<o:p></o:p>
public ActionErrors validate(<o:p></o:p>
ActionMapping mapping,<o:p></o:p>
HttpServletRequest request) {<o:p></o:p>
ActionErrors errors=super.validate(mapping,request);<o:p></o:p>
if(errors==null){<o:p></o:p>
errors=new ActionErrors();<o:p></o:p>
}<o:p></o:p>
if((password==null)||(password.trim().length()==0)){<o:p></o:p>
errors.add("password",new ActionError("password"));<o:p></o:p>
}<o:p></o:p>
if((userName==null)||(userName.trim().length()==0)){<o:p></o:p>
errors.add("userName",new ActionError("userName"));<o:p></o:p>
}<o:p></o:p>
return errors;<o:p></o:p>
}<o:p></o:p>
修改Action类<o:p></o:p>
public ActionForward execute(ActionMapping mapping, ActionForm form,<o:p></o:p>
HttpServletRequest request, HttpServletResponse response) {<o:p></o:p>
LogonForm logonForm = (LogonForm) form;<o:p></o:p>
Session s = null;<o:p></o:p>
try {<o:p></o:p>
s = YJBaseHBM.currentSession();<o:p></o:p>
} catch (HibernateException e) {<o:p></o:p>
e.printStackTrace();<o:p></o:p>
ActionErrors errors = new ActionErrors();<o:p></o:p>
errors.add("hbm.session.error",<o:p></o:p>
new ActionError("hbm.session.error"));<o:p></o:p>
saveErrors(request, errors);<o:p></o:p>
return mapping.findForward("failure");<o:p></o:p>
}<o:p></o:p>
try {<o:p></o:p>
Query q=s.createQuery("from UserInfo ui where ui.userName=:user and password=:password");<o:p></o:p>
q.setString("user", logonForm.getUserName());<o:p></o:p>
q.setString("password", logonForm.getPassword());<o:p></o:p>
System.out.println(q.toString());<o:p></o:p>
Iterator it = q.iterate();<o:p></o:p>
if(it.hasNext()==false){<o:p></o:p>
ActionErrors errors = new ActionErrors();<o:p></o:p>
errors.add("no.user",<o:p></o:p>
new ActionError("no.user"));<o:p></o:p>
saveErrors(request, errors);<o:p></o:p>
return mapping.findForward("failure");<o:p></o:p>
}<o:p></o:p>
YJBaseHBM.closeSession();<o:p></o:p>
} catch (HibernateException e) {<o:p></o:p>
e.printStackTrace();<o:p></o:p>
ActionErrors errors = new ActionErrors();<o:p></o:p>
errors.add("hbm.session.query",<o:p></o:p>
new ActionError("hbm.session.query"));<o:p></o:p>
saveErrors(request, errors);<o:p></o:p>
return mapping.findForward("failure");<o:p></o:p>
} catch (Exception e1){<o:p></o:p>
e1.printStackTrace();<o:p></o:p>
ActionErrors errors = new ActionErrors();<o:p></o:p>
errors.add("hbm.session.query",<o:p></o:p>
new ActionError("hbm.session.query"));<o:p></o:p>
saveErrors(request, errors);<o:p></o:p>
return mapping.findForward("failure");<o:p></o:p>
}<o:p></o:p>
<o:p></o:p>
return mapping.findForward("success");<o:p></o:p>
}<o:p></o:p>
logon.jsp与struts-config.xml配置修改见下载文件<o:p></o:p>