读书人

struts1跟struts2区别总结(1)

发布时间: 2012-11-04 10:42:42 作者: rapoo

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的一点区别 ,其他的区别还在继续挖掘中。。。。
如有不对,还忘大家及时指出。。互相学习下

读书人网 >软件架构设计

热点推荐