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

Struts2开发手册- 马士兵 - 图文(8)

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

Struts学习笔记 第36页 共39页

时国际化资源文件会自动加载。我们在相应的文件中可以直接访问(利用ActionSupport类中的getText()方法。)了。 我们现在只需要将登录页面代码修改就可以了。

注意:要求国际化资源文件需要与相应的Action在同一包中(见上第三个图),这样Struts2就可以保证当访问这个LoginAction


注意:Struts2国际化是使用来获取信息的。 格式: 2、 Package级别 Package级别的只是将国际化资源文件建立在package(包)下,要求资源文件名前缀同包名就可以了。 其它的使用同Action级别的一样。 例如:如果在com.wjt276.bbs2009.action包下建立国际化资源文件,则文件名必须以package开头 package_en_US.properties 及 package_zh_CN.properties 其中:getText()是ActionSuppot类中的方法。因为标签只可以直接使用Action的参数二:当没有取出数据时,则使用这个默认的值,可以省略此参数。 总结:国际化资源文件建立完、使用标签取值后,其它都将由Struts2来完成。 方法。方法中的参数一:表示国际化资源文件中的标签,因为要求是字符串,所以使用单引号括起来。 总结:1、包级别的资源文件名,必须以package开头 2、包级别的资源文件可以给此包中的所有Action类使用。 3、 Application级别 Application级别也只是资源文件存放的位置不同,相同的所使用的范围也不一样。 资源文件要求存放在classpath的根目录下。

国际化资源文件以任何名称开头都可以,只是需要在Struts2.xml配置文件中告诉Struts2资源文件是以什么开头的。

Struts学习笔记 第37页 共39页

例如:现在以项目名为前缀:bbs2009

bbs2009_en_US.properties 及 bbs2009_en_US.properties

告诉Struts2资源文件是以什么开头的 四、 资源文件中的参数处理

场景:如果一个登录系统,用户登录后页面提示“欢迎您,xxxx”,如果是英文:”Welcome,xxx” 正常应该如下处理:先取职欢迎信息 + 再显示登录的用户名。 注意:但是这要就需要两个Struts2的标签来完成这件事。 资源文件中welcome.msg的值如下: welcome.msg=欢迎您, 或 welcome.msg=Welcome, 我们还有别外一种方式解决它,只需要一个Struts2标签,只是加入一个参数,这个标签是。具体方式如下: 首先是资源文件需要修改,如下 注意:需要在资源文件中使用{index}来表示传入参数是哪一个。这个index是从0开始 文件中的欢迎您,{0}或Welcome,{0}, 如果第一个参数传入值为wjt276,那么页面将显示欢迎您,wjt276或Welcome,wjt276 其次需要使用标签是获取信息。如下: 注意:标签中的name中的值不需要单引号括起来,因为是OGNL表达式,而标签中value=”getText(?welcome.msg?)”中的值需要用单引号括起来。因为需要传一个字符串 五、 国际化-动态语言切换

在某些网站中,会发现页面中有国家语言的选择,如:中文、英语、日语等语言供您选择。 Struts2也可以实现这种动态语言切换的功能,方法非常的简单。 方法:只需要传入一个参数(参数名必需为request_locale),参数值为”语言_国家”(也就是资源文件的后缀,如zh_CN、en_US)就可以了。例:如果当前访问的页面为中文并且URL为 http://localhost:8080/struts2_3200_bbs2009_08/admin/Login-input 如果需要切换成英文,则只需要传入一个参数request_locale=en_US就可以了。URL如下 http://localhost:8080/struts2_3200_bbs2009_08/admin/Login-input?request_locale=en_US 这样当前进程的浏览器就可以访问这个网站的所有页面为英文,至到这个进程结束,因为Struts2向session中写入locale值 WW_TRANS_I18N_LOCALE=en_US Struts学习笔记 第38页 共39页

09 自定义拦截器

一般99.9%用不上

10 类型转换

public class MyPointConverter extends DefaultTypeConverter{ }

public class MyPointConverter extends StrutsTypeConverter{

@Override

public String convertToString(Map context, Object o) { }

// TODO Auto-generated method stub return o.toString(); @Override

public Object convertFromString(Map context, String[] values, Class toClass) { }

Point p = new Point();

String[] strs = (String[])values; String[] xy = strs[0].split(\); p.x = Integer.parseInt(xy[0]); p.y = Integer.parseInt(xy[1]); return p; @Override

public Object convertValue(Object value, Class toType) { }

if(toType == Point.class) { }

if(toType == String.class) { }

return super.convertValue(value, toType);

return value.toString(); Point p = new Point();

String[] strs = (String[])value; String[] xy = strs[0].split(\); p.x = Integer.parseInt(xy[0]); p.y = Integer.parseInt(xy[1]); return p;

Struts学习笔记 第39页 共39页

}

a) 三种注册方式: i. ii. iii.

局部:XXXAction-conversion.properties 1. p(属性名称) = converter 全局:xwork-conversion.properties 1. com.xxx.XXX(类名)= converter Annotation

b) 如果遇到非常麻烦的映射转换 i. request.setAttribute(); ii.

session

Struts2总结

1. Action

a) namespace(掌握) b) path(掌握) c) DMI(掌握) d) wildcard(掌握)

e) 接收参数(掌握前两种)

f) 访问request等(掌握Map IOC方式)

g) 简单数据验证(掌握addFieldError和

a) 结果类型(掌握四种,重点两种) b) 全局结果(掌握) c) 动态结果(了解) OGNL表达式(精通) a) # % $ Struts标签

a) 掌握常用的

声明式异常处理(了解) I18N(了解)

CRUD的过程(最重要是设计与规划)(精通) Interceptor的原理(掌握)

类型转换(掌握默认,了解自定义)

2.

3. 4. 5. 6. 7. 8. 9.

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Struts2开发手册- 马士兵 - 图文(8)在线全文阅读。

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