13.2 步骤 13.2.1 建立资源文件
资源文件的命名规则: 默认的命名为: 文件名前缀.properties 根据语言的命名为: 文件名前缀.语言种类.properties 例如: 中文: resource_zh_CN.properties 内容: item.username=用户名 item.password=密码 英文: resource_en_US.properties 内容: item.username=username_en item.password=password_en 默认: resource.properties 内容: item.username=username item.password=password
13.2.2 配置文件中
需要在配置文件中加入: value=\
1、 这样struts2就会去找你写的资源文件
2、 name的值可以在org/apache/struts2/default.properties中找到。 3、 如果放置的资源文件在src下,则value的值可以直接写,如果在
包中则可以写成包名.resource。
name=\
4、 在这里resource是个基名,也就是说可以加载以resource开头的文件。
13.2.3 页面中
利用
I18n/login.jsp
13.2.4 在action中
可以利用ActionSupport中的getText()方法获取资源文件的value值。 I18n/LoginAction public class LoginAction extends ActionSupport{ public String login(){ String username = this.getText(\ System.out.println(username); String password = this.getText(\ System.out.println(password); return \ } } 说明:通过this.getText()方法可以获取资源文件的值。
14 OGNL
14.1 介绍
OGNL表达式是(Object-Graph Navigation Language)是对象图形化导航语言。OGNL是一个开源的项目,struts2中默认使用OGNL表达式语言来显示数据。与serlvet中的el表达式的作用是一样的。OGNL表达式有下面以下特点:
1、 支持对象方法调用,例如:objName.methodName(); 2、 支持类静态的方法调用和值访问,表达式的格式为
@[类全名(包括包路经)] @[方法名 | 值名] 例如:
@java.lang.String@format('foo%s','bar') @tutorial.MyConstant@APP_NAME;
3、 支持赋值操作和表达式串联,例如:
price=100, discount=0.8, calculatePrice(),这个表达式会返回80;
4、 访问OGNL上下文(OGNL context)和ActionContext
5、 操作集合对象
14.2 回顾el表达式
在servlet中学习的el表达式实际上有两步操作:
1、 把需要表现出来的数据放入到相应的作用域中
(req,res,session,application)。
2、 利用el表达式把作用域的值表现在页面上
14.3 ognl类图
14.4 ValueStack 14.4.1 说明
1、 ValueStack是一个接口,在struts2中使用OGNL表达式实际上是使用
实现了ValueStack接口的类OgnlValueStack,这个类是OgnlValueStack的基础。
2、 ValueStack贯穿整个action的生命周期。每一个action实例都拥有一
个ValueStack对象。其中保存了当前action对象和其他相关对象。 3、 Struts2把ValueStack对象保存中名为struts.valueStack的request域中。
14.4.2 ValueStack内存图
14.4.3 ValueStack的组织结构
从图上可以看出OgnlValueStack和我们有关的内容有两部分:即OgnlContext和CompoundRoot。所以把这两部分搞清楚很重要。
14.4.4 OgnlContext组织结构
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库struts2(6)在线全文阅读。
相关推荐: