77范文网 - 专业文章范例文档资料分享平台

struts2(5)

来源:网络收集 时间:2019-04-14 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

一个类如果是拦截器,必须实现Interceptor接口。

public class PrivilegeInterceptor implements Interceptor{ public void destroy() { // TODO Auto-generated method stub } public void init() { // TODO Auto-generated method stub } public String intercept(ActionInvocation invocation) throws Exception { // TODO Auto-generated method stub System.out.println(\ //得到当前正在访问的action System.out.println(invocation.getAction().toString()); //得到Ognl值栈 System.out.println(invocation.getInvocationContext().getValueStack()); //请求路径action的名称,包括方法 System.out.println(invocation.getProxy().getActionName()); //方法名称 System.out.println(invocation.getProxy().getMethod()); //命名空间 System.out.println(invocation.getProxy().getNamespace()); String method = invocation.invoke(); return null; } } 说明: 这个类中init、1、intercept和destroy三个方法说明了一个拦截器的生命周期。 2、 在interceptor方法中的参数invocation是执行action的上下文,可以从 这里得到正在访问的action、Ognl值栈、请求路径、方法名称、命名空间 等信息。以帮助程序员在拦截器中做相应的处理工作。 红色部分是关键部分,就是调用action的方法。这里可以成为目标类的 3、 目标方法。 4、因为这里配置的拦截器是针对包的,所以只要是包的action都起作用。

12 验证

12.1 需求

验证用户名不能为空,密码也不能为空,并且长度不能小于6位数。

12.2 实现

13 国际化

13.1 说明

一个系统的国际化就是根据操作系统的语言,页面上的表现形式发生相应的变化。比如如果操作系统是英文,页面的文字应该用英语,如果操作系统是中文,页面的语言应该是中文。

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。

4、 在这里resource是个基名,也就是说可以加载以resource开头的文件。

name=\

13.2.3 页面中

利用就可以把资源文件中的内容输出来。 I18n/login.jsp 说明: 1、 标红色部分的是要从资源文件中找的内容。item.username和 item.password代码key的值。 2、 也可以利用%{getText('item.username')}方式来获取资源。采取的是 OGNL表达式的方式。 3、 getText的来源: 从源代码可以看出ActionSupport实现了TextProvider接口。 Provides access to {@link ResourceBundle}s and their underlying text messages.意思是说提供了访问资源文件的入口。而 TextProvider中提供了getText方法,根据key可以得到value。

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类图

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库struts2(5)在线全文阅读。

struts2(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/589953.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: