struts1和struts2区别总结(1)
自己总结一些struts1和struts2区别,本人总结只供自己参考,因为还是初学struts框架,如有错误,还希望大家指出 1、比如用户在登录账号和密码都为null时会在 会在action中做个校验: a 、就拿struts1来说 : 它的action的方法中是:[code="java"]/** * 执行的核心方法,相当于与servlet中的 doget和dopost方法 * @param mapping * @param form * @param request * @param response * @return ActionForward */public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {UserForm userForm = (UserForm) form;// TODO Auto-generated method stubif(userForm.getUsername().equals("123")&&userForm.getPassword().equals("123")){//登录成功 request.getSession().setAttribute("username", userForm.getUsername()); //进行跳转,在action中是通过返回值实现跳转 return mapping.findForward("suc");}else{//登录失败,返回登录页面,同时显示错误信息//建立保存错误信息的集合ActionMessages errors=new ActionMessages();//添加到错误信息中errors.add("Loginerror", new ActionMessage("logon.errors"));this.addErrors(request, errors);return mapping.getInputForward();}}页面上提示错误的的信息代码是:
<body> <html:form action="login.do" method="post"> <table border="0"> <tr> <td>账号:</td> <td><html:text property="username" /></td> <td><font color="red"><html:errors property="username" /></font> </td> </tr> <tr> <td>密码:</td> <td><html:password property="password" /></td> <td> <font color="red"><html:errors property="password" /> </font> </td> </tr> <tr> <td colspan="2" align="center"><html:submit value="提交" /></td> </tr> <font color="red"> <html:errors property="Loginerror" /> </font> </table> </html:form>
以上是错误信息的提示操作 在struts1中的写法:
而在struts2 中 ,则你会发现简答的很多
第一 : 在action中也会有微妙的变化为:
@Override/** * 该类继承了actionSupport在重写了validate()这个方法 */public void validate() {if(this.getUsername()==null||"".equals(this.getUsername())){this.addFieldError("username", "username required");}if(this.getPassword()==null||"".equals(this.getPassword())){this.addFieldError("password", "password required");}}而struts的好处就体现了,这个时候你就不需要去更改你的页面信息了
而页面jsp的内容为:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><%@taglib uri="/struts-tags" prefix="s" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> </head> <body> <s:form action="login"> <s:textfield name="username" label="username"></s:textfield> <s:password name="password" label="password"></s:password> <s:submit label="submit" ></s:submit> </s:form> </body></html>
以上是我总结的struts1和struts2的一点区别 ,其他的区别还在继续挖掘中。。。。
如有不对,还忘大家及时指出。。互相学习下