“<global-exceptions> </global-exceptions>

时间:2013-03-11 18:26:21

标签: jsp struts struts-config

在登录页面上有下拉语言选择,每种语言都有其特定的属性文件设置,默认为英语

现在发生了什么:

  1. 用户在登录页面,从下拉菜单中选择中文。
  2. 整个页面都以中文刷新。
  3. 登录失败,登录失败的消息显示为英文而非中文。
  4. 那是因为在struts-config.xml中,异常键会查找默认属性文件而不是特定于语言的属性文件。

    请在下面找到动作类和JSP表示。

    问题:

    1. 有没有办法在struts-config.xml中指定从特定于语言的属性文件中选择基于键值对?
    2. 如何更改操作类以在lang特定属性文件中查找密钥?
    3. 更改<html:errors/>以获取密钥,然后在jsp中查找?
    4. 的struts-config.xml

      <global-exceptions>
          <exception 
              key="global.error.invalidKey"
              path="/login.jsp"
              scope="request"
              type="default.package.InvalidLoginException"/>
      </global-exceptions>
      

      InvalidLoginException

       import org.apache.commons.logging.Log;
       import org.apache.commons.logging.LogFactory;
      
       public class InvalidLoginException extends Exception {
        private static Log log = LogFactory.getLog("default.package.InvalidLoginException");
      
        public InvalidLoginException( String msg ){
        super( msg );
       log.warn(msg);
       }
      }
      

      在JSP中

      <html:errors/>
      

1 个答案:

答案 0 :(得分:0)

指定

<message-resources
        parameter="path for properties file" />
struts.xml中的

see here