• struts2(五) s标签和国际化


            坚持就是胜利。

                        --WZY

    一、s标签

        在struts-2.3.15.1/docs/WW/docs/tag-reference.html下,就有着struts2所有标签的参考文献,只能看看其中比较常用的标签。其他的以后遇到了在看参考文献即可。

        通用标签,control Tags 和 DataTags,下面用方框圈起来的就是我们需要了解的

                

            1.1、if、elseif、else 标签。

              这个很简单,流程控制的标签,跟我们平常写的if语句基本上类似。test用来编写条件的

              

            1.2、Iterator

               迭代器标签,用来循环迭代集合或数组中的数据。还可以当for循环一样去使用,非常常用,看看如何使用

               迭代list集合。

                      

               控制循环次数

                     

               获取迭代时的一些状态信息

                   

            1.3、a和url标签

                s:url标签:通常用来生成action路径,域<c:url>标签很类似

                     

                s:a标签

                    

            1.4、<s:property/>标签

                    在前面也使用过了,用来执行ognl表达式,最为常用的方式是使用它在页面上输出ValueStack或ActionContext中的数据。

            1.5、<s:set/>标签

                    创建一个变量,并将其保存到指定的范围内。

                    

                    <s:set var=”myVar” value=”#parameters.score[0]” scope=”page”/>,创建一个变量,保存到page范围,key为myVar,值为“#parameters.score[0]”的运算结果

                    注意:scope有一个action范围,并且他也是scope的默认值,它表示保存到request和OgnlContext两个范围中,即比request范围多了一个OgnlContext范围。

            1.6、<s:push/>标签

                    <s:push>标签是把指定值暂时压入到值栈中,当执行完<s:push>标签后,压入到值栈中的值会被弹出

            1.7、<s:debug/>标签

                    Debug标签用于调试,它在页面中生成一个“[Debug]”超链接,单击这个超链接,可以查看ValueStack和ActionContext中保存的所有对象

         表单标签

            Struts2的表单标签还是比较好用的,但它也存在一些败笔,例如主题这一部分就不是很灵活。所以导致开发中没有公司会使用它提供的主题  

            Struts2标签的优势:

              l  简化代码;一般般啦

              l  自动数据回显;这个很不错。

              |  指定主题样式(说是优点,但很多人也会认为这是缺点)

            

            

          标签样式修改

             三个地方可以修改

             1、在<s:textfield>的theme属性指定为simple,那么这个表单项就使用简单主题

             2、 在<s:form>的theme属性指定为simple,那么整个表单都使用简单主题;

             3、设置struts.ui.theme常量为simple,那么所有表单标签的默认主题都是simple (常用这个)

       

    二、struts2的国际化

            国际化的使用范围,

              全局国际化文件,整个程序都可以使用(常用)

              特定包中可以使用(一个包中所有Action可以使用)

              特定Action可以使用(一个Action可以使用)

              临时信息文件(JSP中i18n标签中可以使用)

            JSP页面获取国际化资源

              使用<s:text/>标签, <s:text name="key" />

            action中获取国际化资源

              this.getText("key");

            配置文件中获取国际化资源

              key(直接使用国际化配置文件中的key值即可获得)

            2.1、全局国际化文件

               1、配置三个配置文件

                    格式:基本名称_语言_国家.properties 

                    res_zh_CN.properties  res_en_US.properties  res.properties  

                      res可以随便取值的,比如下面我使用的i18n

                      res_zh_CN.properties:代表其中放的是中文

                      res_en_US.properties: 英文

                      res.properties:根据浏览器设置的什么语言,就显示那种语言。只提供中文和英文两种选择。

                    内容:  

                            

                2、struts.xml中申明国际化资源文件的位置以及作用范围

                       

                      value:标识资源文件的位置在哪里,如果在src下,那么就直接写国际化资源文件的基本名称,如果在别的包下,那么就需要将完整包名写出来

                3、使用国际化资源文件

                    在jsp、action、资源文件中使用国际化资源文件有不同的格式,看上面即可。

            2.2、特定包中可以使用(一个包中所有Action可以使用)

                 只需要将国际化资源文件的名称和位置固定,不需要在struts.xml中指定,注意,在特定包

                    比如只想在com.wuhao.internationa包下使用,

                    位置:com.wuhao.internationa包下创建package_zh_CN.properties文件

                    名称:com.wuhao.internationa.package_zh_CN.properties  

                    注意:这个文件也可以在com.wuhao.internationa包的子包中被使用

                        

            2.3、特定Action可以使用(一个Action可以使用)

               很简单,只需要将国际化资源文件的名称和位置固定,不需要在struts.xml中指定,

                名称:Action名_语言_国家.properties  比如:InternationAction_zh_CN.properties

                位置:与该action同包下

                    

            2.4、临时信息文件(JSP中i18n标签中可以使用)

                也就是只能通过i18n标签来拿到国际化资源文件中的属性

                名称:基本名称_语言_国家.properties  

                    例如:res_zh_CN.properties

                位置:随便放哪

                使用:

                      两个name的意思分别为 国际化资源文件所放位置 和 资源文件中的字段属性名。

                   <s:i18n name="com.wuhao.internation.res">

                      <s:text name="username"/>

                   </s:i18n> 

    三、总结

          非常简单,掌握标签的使用,和知道标签优点即可。自动回显功能。自动布局,但是需要注意,struts2标签自带的样式问题,一般不使用,会设置为simple。

  • 相关阅读:
    设计模式-Note9-行为变化类
    设计模式-Note8-数据结构类
    设计模式-Note7-状态变化类
    设计模式-Note6-接口隔离类
    设计模式--Note5--对象性能类
    设计模式--Note4--对象创建类
    设计模式--Note3--单一职责类
    设计模式--Note2--组件协作类
    V$ACCESS 查询结果慢的解决方法
    openstack numa详解(命令使用篇)
  • 原文地址:https://www.cnblogs.com/whgk/p/6604491.html
Copyright © 2020-2023  润新知