struts2 中 s:text 的使用 资源的访问 多语言实现

把资源统一管理总是不可避免的。strut2 的 <s:text >可以用于访问我们定义的properties文件,具体步骤分为三步:

1 、在struts.properties文件(在web-info/classes下面,如果没有可以自己创建)中创建一条: struts.custom.i18n.resources=resourcename,相当于给struts提供了资源的具体位置或搜索路径,比如如果这里resourcename = package,那么如果如果使用中文的话对应的就是在web-info/classes下的package_zh_CN.properties文件,其他语言雷同。

2、创建一个Lisener,就是为了在struts2启动的时候把我们上一步设置的资源位置加载进去具体的代码如下:

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.apache.log4j.Logger;
import com.opensymphony.xwork2.util.LocalizedTextUtil;

public class ActionGlobalMessagesListener implements ServletContextListener {
  private static Logger log = Logger.getLogger(ActionGlobalMessagesListener .class);
  private static final String DEFAULT_RESOURCE = "global-messages";
  /**
   * Uses the LocalizedTextUtil to load messages from the global message bundle.
   * @see
   javax.servlet.ServletContextListener#contextInitialized(javax.servlet.Servle
   tContextEvent)
   */
  public void contextInitialized(ServletContextEvent arg0) {
    log.info("Loading global messages from " + DEFAULT_RESOURCE);
    LocalizedTextUtil.addDefaultResourceBundle(DEFAULT_RESOURCE);
    log.info("Global messages loaded.");
  }
  /**
   * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
   */
  public void contextDestroyed(ServletContextEvent arg0) {
      // do nothing
    }
}

3、最后一步就是在web.xml里面设置好lisener,如下:

<listener>
   <listener-class>youPackagePath.ActionGlobalMessagesListener</listener-class>
   </listener>

通过上面三个步骤后就可使用<s:text了具体的使用可以看struts文档,应该比较容易。

该文章由http://struts.apache.org/2.0.14/docs/how-do-i-set-a-global-resource-bundle.html 翻译而来,请参考

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值