一、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。

Struts2学习(五)———— s标签和国际化的更多相关文章

  1. struts2(五) s标签和国际化

    坚持就是胜利. --WH 一.s标签 在struts-2.3.15.1/docs/WW/docs/tag-reference.html下,就有着struts2所有标签的参考文献,只能看看其中比较常用的 ...

  2. [原创]java WEB学习笔记69:Struts2 学习之路-- 消息处理与国际化,概述,配置国际资源文件,访问国际化消息,通过超链接切换语言

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  3. struts2学习(9)struts标签2(界面标签、其他标签)

    四.struts2界面标签: 五.其他标签: 1.界面标签: uiTag.jsp: <body> <h>界面标签</h> <hr/> <a hre ...

  4. struts2学习(8)struts标签1(数据标签、控制标签)

    一.struts2标签简介: struts标签很多,功能强大,这是优点: 但是缺点的话,性能方面可能会,各方面速度啊啥的会降低:有人比较测试,struts性能比jstl低很多:   二.struts2 ...

  5. Struts2学习五----------指定多个配置文件

    © 版权声明:本文为博主原创文章,转载请注明出处 指定多个配置文件 - 在Struts2配置文件中使用include可指定多个配置文件 实例 1.项目结构 2.pom.xml <project ...

  6. [原创]java WEB学习笔记75:Struts2 学习之路-- 总结 和 目录

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  7. Struts2入门(五)——OGNL和标签库

    一.前言 OGNL和标签库的作用,粗暴一点说,就是减少在JSP页面中出现java代码,利于维护. 1.1.OGNL 1.1.1.什么是OGNL? OGNL(Object-Graph Navigatio ...

  8. Struts2学习笔记 国际化(Internationalization)

    概述 国际化(Internationalization),通途的讲,就是让软件实现对多种语言的支持.可以通过简单的设置就可以从一种语言切换到另一种语言.用的最多的地方就是在应用程序的界面表示上.我们经 ...

  9. 【Struts2学习笔记(12)】Struts2国际化

    (1)准备资源文件,资源文件的命名格式例如以下: baseName_language_country.properties baseName_language.properties baseName. ...

随机推荐

  1. mysql开启调试日志general_log开启跟踪日志

    general_log = 1 general_log_file = /tmp/umail_mysql.log 有时候,不清楚程序执行了什么sql语句,但是又要排除错误,找不到原因的情况下, 可以在m ...

  2. QT-QWebEngineView-createWindow弹出页面解决

    首先要写一个继承QWebEngineView的类 头文件: #ifndef WEBBROWSER_H #define WEBBROWSER_H #include <QWebEngineView& ...

  3. SAS 逻辑库

    SAS逻辑库 SAS逻辑库是一个或多个SAS文件的集合,用于组织.查找和管理 SAS文件.SAS逻辑库管理的SAS文件包括SAS数据集.SAS目录.已编 译的SAS程序,以及多维数据库文件等. 1.逻 ...

  4. JavaScript:event loop详解

    之前已经有两篇随笔提到了event loop,一篇是事件机制,一篇是tasks和microtasks,但是里面的event loop都是文字描述,很难说细,逻辑也只是简单的提了一遍.其实之前也是通过阮 ...

  5. Chapter7 抑癌基因

    一.实验证明,如果肿瘤不是肿瘤病毒产生时,与正常细胞融合后,其恶性表型是隐形的 二. 家族性视网膜母细胞瘤的形成模型 如何使得一个细胞获得两个突变(两次随机的突变可能性太小) 模型一:有丝分裂的同源重 ...

  6. python之路(二)-collections系列

    collections提供了一些比较方便的方法,使用时需要先导入模块 导入模块: import collections 1. 计数器Counter 统计参数中出现的次数,以字典的方式返回结果,参数可以 ...

  7. 剪格子 dfs 蓝桥杯

    问题描述 如下图所示,3  x  3  的格子中填写了一些整数. +--*--+--+ |10*  1|52| +--****--+ |20|30*  1| *******--+ |  1|  2|  ...

  8. Python之旅Day2 元组 字符串 字典 集合

    元组(tuple) 元组其实跟列表差不多,也是存一组数,与列表相比,元组一旦创建,便不能再修改,所以又叫只读列表. 语法: names = ("Wuchunwei","Y ...

  9. Android-Java-抽象类

    定义抽象类,就一定会定义抽象方法,抽象方法没有方法体{},就证明抽象方法 是不运行的,抽象方法 是给子类继承覆盖运行的, 子类继承->抽象类 就必须覆盖抽象方法,否则编译都失败: 水果案例: 定 ...

  10. 2019-4-25 html学习笔记

    一.概念 文本   用于储存和记录文字信息的载体 html  超文本标记语言(本质就是给文本增加语义 如<h1></h1>就是给文字添加一级标题的语义) 注:互联网三大基石 有 ...