zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    C#和JAVA的RSA密钥、公钥转换
    JAVA RSA私钥 加密(签名) 对应 C# RSA私钥 加密(签名)
    Senparc.Weixin.MP SDK 微信公众平台开发教程(九):自定义菜单接口说明
    微信资料
    OAuth2.0实战之微信授权篇
    URL中出现了%E2%80%8E(Zero-Width Space)
    AntDesign vue学习笔记(六)Table 显示图片
    NPOI导出 The maximum column width for an individual cell is 255 characters
    AntDesign vue学习笔记(五)导航菜单动态加载
    AntDesign vue学习笔记(四)使用组件切换
  • 原文地址:https://www.cnblogs.com/zunpeng/p/3725594.html
Copyright © 2011-2022 走看看