struts总结

       


1.struts标签库用于展示视图部分。像jstl一样,需要使用标签时,必须把头文件引进来。

2.struts对国际化的支持。

    那什么是国际化?

    目的是为了适应不同区域的要求。开发这样适应不同区域程序称之为国际化。

    那struts是如何实现国际化呢?具体的做法如下:

  • 提供国际化资源文件。文件是由base基本信息和local组成。
  • 配置信息中进行配置。<message-resourcesparameter="resources.MessageResources" />其中的parameter视资源文件位置而定,若是在具体包下,则配置时需加上具体包名。
  • 界面进行读取。使用struts提供的标签进行读取。<bean:messagekey="login.form.field.username"/>:<input type="text"name="username">

   对于,输入的用户名重复这种提示信息或者密码不正确这种错误信息,struts又是如何做到呢?

  • 首先要创建国际化消息文本。

             //返回的list

            ActionMessagesmessages = new ActionMessages();

           //返回的一条文本信息

           ActionMessageerror = new ActionMessage(key);

  • 传递国际化消息文本。

         this.saveErrors(request,messages);

  • 显示国际话消息文本。

    使用struts标签来显示信息。可以使用<html:message>或者<html:errors>。其中<html:message>可以显示任何一条信息,而<html:errors>只可显示错误信息。

3.动态验证框架。

   动态框架的引入历程:

   以前,把验证代码javascript都写在jsp文件中,若是修改验证信息,则需要修改大量的jsp文件。

比如:每个jsp页面都有验证文本框的输入字符的长度信息,若是在每个jsp文件都写js代码,则会出现大量的重复代码。重复代码是糟糕代码的表现。为了消除重复的代码,首先想到的是提取,对了,可以抽取到一个js文件中,到时候其他jsp文件直接引用即可。在drp视频中,我们是这样做的。这是一个办法,但是我们修改验证信息,比如验证长度从5个字符变成9个字符,那我们修改js文件后必须重新编译。为了进一步改进这种情况,struts替我们封装好了,使用struts框架,我们把验证信息放到验证配置文件中,修改验证信息直接修改xml文件即可。注意:修改xml是不用重新编译的。这是使用配置文件的最大特点。

  那struts是如何实现动态验证的呢?

  • 配置struts-config文件,

         <plug-inclassName="org.apache.struts.validator.ValidatorPlugIn">

         <set-property

         property="pathnames"

        value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>

       </plug-in>

  • 提供配置文件validation.xmlvalidator-rules.xml
  • 配置验证配置文件-validation.xml

4.主要的组件介绍:

      ActionServlet:中央控制类,是Struts的核心控制类。

      ActionForm:与表单上数据一致,封装了表单上的数据。

      ActionForward:封装了返回信息的对象。

     ActionMapping:根据path,封装了path对应的配置信息的对象。

     DispatchAction:也是继承了Action,主要的作用是根据名称分发Action,其工作流程是动态代理的代表。

5.配置信息介绍:

  配置文件中的标签都是有顺序的。常用的配置标签有:<form-bean>用来配置actionForm的。<action-mapping>用来配置actionforwardexception的。还有就是第三方组件的配置如<plug-in>

posted @ 2014-05-13 15:14  zunpengw  阅读(147)  评论(0编辑  收藏  举报