Struts2学习(五)———— s标签和国际化
一、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标签和国际化的更多相关文章
- struts2(五) s标签和国际化
坚持就是胜利. --WH 一.s标签 在struts-2.3.15.1/docs/WW/docs/tag-reference.html下,就有着struts2所有标签的参考文献,只能看看其中比较常用的 ...
- [原创]java WEB学习笔记69:Struts2 学习之路-- 消息处理与国际化,概述,配置国际资源文件,访问国际化消息,通过超链接切换语言
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- struts2学习(9)struts标签2(界面标签、其他标签)
四.struts2界面标签: 五.其他标签: 1.界面标签: uiTag.jsp: <body> <h>界面标签</h> <hr/> <a hre ...
- struts2学习(8)struts标签1(数据标签、控制标签)
一.struts2标签简介: struts标签很多,功能强大,这是优点: 但是缺点的话,性能方面可能会,各方面速度啊啥的会降低:有人比较测试,struts性能比jstl低很多: 二.struts2 ...
- Struts2学习五----------指定多个配置文件
© 版权声明:本文为博主原创文章,转载请注明出处 指定多个配置文件 - 在Struts2配置文件中使用include可指定多个配置文件 实例 1.项目结构 2.pom.xml <project ...
- [原创]java WEB学习笔记75:Struts2 学习之路-- 总结 和 目录
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Struts2入门(五)——OGNL和标签库
一.前言 OGNL和标签库的作用,粗暴一点说,就是减少在JSP页面中出现java代码,利于维护. 1.1.OGNL 1.1.1.什么是OGNL? OGNL(Object-Graph Navigatio ...
- Struts2学习笔记 国际化(Internationalization)
概述 国际化(Internationalization),通途的讲,就是让软件实现对多种语言的支持.可以通过简单的设置就可以从一种语言切换到另一种语言.用的最多的地方就是在应用程序的界面表示上.我们经 ...
- 【Struts2学习笔记(12)】Struts2国际化
(1)准备资源文件,资源文件的命名格式例如以下: baseName_language_country.properties baseName_language.properties baseName. ...
随机推荐
- day 6 元组、字典、字符串
本节内容 : 1,元组 2,字典 3,字符串作业 produce = [('mac', 9000), ('bicycle', 800), ('computer', 8000), ('book', 50 ...
- c++沉思录 学习笔记 第六章 句柄(引用计数指针雏形?)
一个简单的point坐标类 class Point {public: Point():xval(0),yval(0){} Point(int x,int y):xval(x),yval(y){} in ...
- playframework 一步一步来 之 日志 (二)
带着之前的疑问,我们先回顾一下日志相关的知识: 首先是SL4J,SL4J是个什么东西来着?官方解释为:“The Simple Logging Facade for Java (SLF4J) serve ...
- 你会跟谁结婚zz
正文 咱们日课去年有篇文章叫<你会跟谁结婚?>,提到经济学家的数据显示,现在美国的婚姻中“强强联合”的现象越来越严重,高收入者和高收入者结婚,高学历者和高学历者结婚. 经济学家很无奈,我们 ...
- 【转】Linux中的EAGAIN含义
在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作中). 从字面上来看,是提示再试一次.这个错误经常出现在当应用程序进行一些非阻塞 ...
- & 引用
核心: 对引用的操作与对变量直接操作完全一样注意点: 引用并非是地址运算符 编译器一般将引用看作是const指针,即只占用指针大小空间 引用只能在初始化的时候引用一次 ,不能更改为转而引用其他变量.使 ...
- EBR内容解析
原先博客放弃使用,几篇文章搬运过来 EBR(Extended Boot Record)即扩展分区引导记录.类似于主引导记录MBR.因为MBR的四条分区信息的限制,可以使用EBR方便扩展. 它的结构与M ...
- oracle数据库创建分区表
参考资料:http://blog.chinaunix.net/uid-21943216-id-4062400.html 一.建按月自增分区表:1.1建表SQL> create table mon ...
- hdu3001Travelling
参考了别人的代码 https://blog.csdn.net/u010372095/article/details/38474721 深感自己的弱小 这是tsp问题,和基本的tsp问题没什么大的区 ...
- 8:String类
String类 String类的特点: 字符串对象一旦被初始化就不会被改变. 字符串是最常用的类型之一,所以为了使用方便java就给封装成了对象方便使用 public static void str ...