?????????????JUnit

??????????????国际化

<s:set name="" value=....>

理论上Struts 2.0的Action无须实现任何接口或继承任何类型,但为方便使用,通常继承com.opensymphony.xwork2.ActionSupport类,并重载(Override)此类里的String execute()方法

 

ActionContext.getContext().getSession.

 

Struts 2.0有两个配置文件,struts.xml和struts.properties都是放在WEB-INF/classes/下。

  • struts.xml用于应用程序相关的配置
  • struts.properties用于Struts 2.0的运行时(Runtime)的配置

在此想和大家分享一个不错的编写properties文件的Eclipse插件(plugin),有了它我们在编辑一些简体中文、繁体中文等Unicode文本时,就不必再使用native2ascii编码了。您可以通过Eclipse中的软件升级(Software Update)安装此插件,步骤如下:


1、展开Eclipse的Help菜单,将鼠标移到Software Update子项,在出现的子菜单中点击Find and Install;
2、在Install/Update对话框中选择Search for new features to install,点击Next;
3、在Install对话框中点击New Remote Site;
4、在New Update Site对话框的Name填入“PropEdit”或其它任意非空字符串,在URL中填入http://propedit.sourceforge.jp/eclipse/updates/;
5、在Site to include to search列表中,除上一步加入的site外的其它选项去掉,点击Finsih;
6、在弹出的Updates对话框中的Select the features to install列表中将所有结尾为“3.1.x”的选项去掉(适用于Eclipse 3.2版本的朋友);
7、点击Finish关闭对话框;
8、在下载后,同意安装,再按提示重启Eclipse,在工具条看到形似vi的按钮表示安装成功,插件可用。此时,Eclpise中所有properties文件的文件名前有绿色的P的图标作为标识。


 


 


国际化:getText()


 


ActionContext.getContext().setLocale(Locale arg)可以方便地选择语言


 


Struts 2.0为您提供了一个名i18n的拦截器(Interceptor),并在默认情况下将其注册到拦截器链(Interceptor chain)中。它的原理为在执行Action方法前,i18n拦截器查找请求中的一个名为"request_locale"的参数。如果其存在,拦截器就将其作为参数实例化Locale对象,并将其设为用户默认的区域(Locale),最后,将此Locale对象保存在session的名为“WW_TRANS_I18N_LOCALE”的属性中。


 


LocalizedTextUtil 是 Struts 2.0 中国际化的工具类, <s:text> 标志就是通过调用它实现国际化的
校验框架是通过validation拦截器实现,该拦载被注册到默认的拦截器链中。它在conversionError拦截器之后,在validateXxx()之前被调用。