Struts2 Struts 2中国际化中的属性文件

Struts2 Struts 2中国际化中的属性文件,struts2,internationalization,Struts2,Internationalization,我想知道在struts2中开发国际化应用程序时,使用eclipse将名为“global”的属性文件作为基本名称,将名为“Action”的属性文件作为基本名称放在哪里 在struts2中如何加载属性文件(因为我们使用任何语句加载属性)。控制流是如何进行的 若在运行的应用程序上出现请求资源不可用等错误,原因是什么 index.jsp: <%@ page language="java" contentType="text/html; charset=ISO-8859-1"

我想知道在struts2中开发国际化应用程序时,使用eclipse将名为“global”的属性文件作为基本名称,将名为“Action”的属性文件作为基本名称放在哪里

在struts2中如何加载属性文件(因为我们使用任何语句加载属性)。控制流是如何进行的

若在运行的应用程序上出现请求资源不可用等错误,原因是什么

index.jsp:

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@taglib uri="/struts-tags" prefix="s" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Internationalization</title>
    </head>
    <body>
     <h1><s:text name="global.heading"/></h1>
    <s:url id="indexEn" action="locale" namespace="/">
     <s:param name="request_locale">en</s:param>
    </s:url>
    <s:url id="indexUR" action="locale" namespace="/">
     <s:param name="request_locale">ur</s:param>
    </s:url>
    <s:url id="indexHN" action="locale" namespace="/">
    <s:param name="request_locale">hn</s:param>
    </s:url>

    <s:a href="%{indexEn}">English</s:a>
    <s:a href="%{indexUR}">Urdu</s:a>
    <s:a href="%{indexHN}">Hindi</s:a>

     <s:form action="emp">
     <s:textfield name="name" key="global.name" size="20"/>
     <s:textfield name="age" key="global.age" size="20"/>
     <s:submit name="submit" key="global.submit" align="right"/>

     </s:form> 
    </body>
    </html>
    package com.Localization.myPack;
    import com.opensymphony.xwork2.ActionSupport;
    public class Employee extends ActionSupport{
    private String name;
    private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String execute()
    {
     return"success";   
    }
    }
Locale file:
global.heading=Select locale
global.age=Age
global.submit=submit
global.success=Successfully authenticated
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
   <struts>
   <constant name="struts.devMode" value="true" />
<!--    <constant name="struts.custom.i18n.resources" value="global" /> -->

   <package name="default"  extends="struts-default">
   <action name="emp" class="com.Localization.myPack.Employee" method="execute">
    <result name="success">/success.jsp</result>
   <result name="input">/index.jsp</result>
   </action>

   <action name="locale" class="com.Localization.myPack.Locale" method="execute">
  <result name="success">/index.jsp</result>
   </action>

  </package>
   </struts>
struts.xml:

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@taglib uri="/struts-tags" prefix="s" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Internationalization</title>
    </head>
    <body>
     <h1><s:text name="global.heading"/></h1>
    <s:url id="indexEn" action="locale" namespace="/">
     <s:param name="request_locale">en</s:param>
    </s:url>
    <s:url id="indexUR" action="locale" namespace="/">
     <s:param name="request_locale">ur</s:param>
    </s:url>
    <s:url id="indexHN" action="locale" namespace="/">
    <s:param name="request_locale">hn</s:param>
    </s:url>

    <s:a href="%{indexEn}">English</s:a>
    <s:a href="%{indexUR}">Urdu</s:a>
    <s:a href="%{indexHN}">Hindi</s:a>

     <s:form action="emp">
     <s:textfield name="name" key="global.name" size="20"/>
     <s:textfield name="age" key="global.age" size="20"/>
     <s:submit name="submit" key="global.submit" align="right"/>

     </s:form> 
    </body>
    </html>
    package com.Localization.myPack;
    import com.opensymphony.xwork2.ActionSupport;
    public class Employee extends ActionSupport{
    private String name;
    private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String execute()
    {
     return"success";   
    }
    }
Locale file:
global.heading=Select locale
global.age=Age
global.submit=submit
global.success=Successfully authenticated
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
   <struts>
   <constant name="struts.devMode" value="true" />
<!--    <constant name="struts.custom.i18n.resources" value="global" /> -->

   <package name="default"  extends="struts-default">
   <action name="emp" class="com.Localization.myPack.Employee" method="execute">
    <result name="success">/success.jsp</result>
   <result name="input">/index.jsp</result>
   </action>

   <action name="locale" class="com.Localization.myPack.Locale" method="execute">
  <result name="success">/index.jsp</result>
   </action>

  </package>
   </struts>

/success.jsp
/index.jsp
/index.jsp
堆栈跟踪:

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@taglib uri="/struts-tags" prefix="s" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Internationalization</title>
    </head>
    <body>
     <h1><s:text name="global.heading"/></h1>
    <s:url id="indexEn" action="locale" namespace="/">
     <s:param name="request_locale">en</s:param>
    </s:url>
    <s:url id="indexUR" action="locale" namespace="/">
     <s:param name="request_locale">ur</s:param>
    </s:url>
    <s:url id="indexHN" action="locale" namespace="/">
    <s:param name="request_locale">hn</s:param>
    </s:url>

    <s:a href="%{indexEn}">English</s:a>
    <s:a href="%{indexUR}">Urdu</s:a>
    <s:a href="%{indexHN}">Hindi</s:a>

     <s:form action="emp">
     <s:textfield name="name" key="global.name" size="20"/>
     <s:textfield name="age" key="global.age" size="20"/>
     <s:submit name="submit" key="global.submit" align="right"/>

     </s:form> 
    </body>
    </html>
    package com.Localization.myPack;
    import com.opensymphony.xwork2.ActionSupport;
    public class Employee extends ActionSupport{
    private String name;
    private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String execute()
    {
     return"success";   
    }
    }
Locale file:
global.heading=Select locale
global.age=Age
global.submit=submit
global.success=Successfully authenticated
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
   <struts>
   <constant name="struts.devMode" value="true" />
<!--    <constant name="struts.custom.i18n.resources" value="global" /> -->

   <package name="default"  extends="struts-default">
   <action name="emp" class="com.Localization.myPack.Employee" method="execute">
    <result name="success">/success.jsp</result>
   <result name="input">/index.jsp</result>
   </action>

   <action name="locale" class="com.Localization.myPack.Locale" method="execute">
  <result name="success">/index.jsp</result>
   </action>

  </package>
   </struts>
2016年5月4日下午1:47:28 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告:[SetPropertiesRule]{Server/Service/Engine/Host/Context}将属性“source”设置为“org.eclipse.jst.jee.Server:Localization”未找到匹配的属性。
2016年5月4日下午1:47:28 org.apache.catalina.startup.VersionLoggerListener日志
信息:服务器版本:ApacheTomcat/7.0.57
2016年5月4日下午1:47:28 org.apache.catalina.startup.VersionLoggerListener日志
信息:服务器构建日期:2014年11月3日08:39:16 UTC
2016年5月4日下午1:47:29 org.apache.catalina.startup.VersionLoggerListener日志
信息:服务器编号:7.0.57.0
2016年5月4日下午1:47:29 org.apache.catalina.startup.VersionLoggerListener日志
信息:操作系统名称:Windows 7
2016年5月4日下午1:47:29 org.apache.catalina.startup.VersionLoggerListener日志
信息:操作系统版本:6.1
2016年5月4日下午1:47:29 org.apache.catalina.startup.VersionLoggerListener日志
信息:架构:x86
2016年5月4日下午1:47:29 org.apache.catalina.startup.VersionLoggerListener日志
信息:JAVA\u HOME:C:\ProgramFiles(x86)\JAVA\jdk1.8.0\u 20\jre
2016年5月4日下午1:47:29 org.apache.catalina.startup.VersionLoggerListener日志
信息:JVM版本:1.8.0_20-b26
2016年5月4日下午1:47:29 org.apache.catalina.startup.VersionLoggerListener日志
信息:JVM供应商:Oracle公司
2016年5月4日下午1:47:29 org.apache.catalina.startup.VersionLoggerListener日志
信息:CATALINA_BASE:C:\Users\javed\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1
2016年5月4日下午1:47:29 org.apache.catalina.startup.VersionLoggerListener日志
信息:CATALINA_主页:C:\apache-tomcat-7.0.57
2016年5月4日下午1:47:29 org.apache.catalina.startup.VersionLoggerListener日志
信息:命令行参数:-Dcatalina.base=C:\Users\javed\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1
2016年5月4日下午1:47:29 org.apache.catalina.startup.VersionLoggerListener日志
信息:命令行参数:-Dcatalina.home=C:\apache-tomcat-7.0.57
2016年5月4日下午1:47:29 org.apache.catalina.startup.VersionLoggerListener日志
信息:命令行参数:-Dwtp.deploy=C:\Users\javed\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps
2016年5月4日下午1:47:29 org.apache.catalina.startup.VersionLoggerListener日志
信息:命令行参数:-Djava.annowed.dirs=C:\apache-tomcat-7.0.57\annowed
2016年5月4日下午1:47:29 org.apache.catalina.startup.VersionLoggerListener日志
信息:命令行参数:-Dfile.encoding=Cp1252
2016年5月4日下午1:47:29 org.apache.catalina.core.AprLifecycleListener生命周期事件
信息:在java.library.path:C:\Program Files(x86)\java\jdk1.8.0\u 20\bin上找不到允许在生产环境中实现最佳性能的基于APR的Apache Tomcat本机库;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/ProgramFiles(x86)/Java/jdk1.8.0_20/jre/bin/client;C:/ProgramFiles(x86)/Java/jdk1.8.0_20/jre/bin;C:/ProgramFiles(x86)/Java/jdk1.8.0_20/jre/lib/i386;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\ProgramFiles(x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\ProgramFiles(x86)\Java\jdk1.8.0\U 20\bin;C:\Users\javed\Desktop;;。
2016年5月4日下午1:47:33 org.apache.coyote.AbstractProtocol init
信息:正在初始化ProtocolHandler[“http-bio-8080”]
2016年5月4日下午1:47:33 org.apache.coyote.AbstractProtocol init
信息:正在初始化ProtocolHandler[“ajp-bio-8009”]
2016年5月4日下午1:47:33 org.apache.catalina.startup.catalina加载
信息:11757毫秒内处理初始化
2016年5月4日下午1:47:33 org.apache.catalina.core.StandardService startInternal
信息:开始服务Catalina
2016年5月4日下午1:47:33 org.apache.catalina.core.StandardEngine startInternal
信息:启动Servlet引擎:ApacheTomcat/7.0.57
2016年5月4日下午1:47:35 org.apache.catalina.util.SessionIdgeGenerator createSecureRandom
信息:使用[SHA1PRNG]创建用于生成会话ID的SecureRandom实例花费了[601]毫秒。
2016年5月4日下午1:47:39 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider info
信息:解析配置文件[struts default.xml]
2016年5月4日下午1:47:39 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider info
信息:找不到名为struts-plugin.xml的配置文件,正在跳过
2016年5月4日下午1:47:39 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider info
信息:解析配置文件[struts plugin.xml]
2016年5月4日下午1:47:39 com.opensymphony.xwork2.config.providers.XmlConfigurationProvider info
信息:解析配置文件[struts.xml]
2016年5月4日下午1:47:39 org.apache.struts2.config.AbstractBeanSelectionProvider信息
信息:为(com.opensymphony.xwork2.ObjectFactory)选择bean(struts)
2016年5月4日下午1:47:39 org.apache.struts2.config.AbstractBeanSelectionProvider信息
信息:为(com.opensymphony.xwork2.factory.ActionFactory)选择bean(struts)
2016年5月4日下午1:47:39 org.apache.struts2.config.AbstractBeanSelectionProvider信息
信息:为(com.opensymphony.xwork2.factory.ResultFactory)选择bean(struts)
2016年5月4日下午1:47:39 o