我在浏览器窗口中收到以下错误:
org.apache.jasper.JasperException:javax.servlet.ServletException:javax.servlet.jsp.JspException:无法在密钥org.apache.struts.action.MESSAGE下找到消息资源
我已经将资源文件包含在struts-config.xml中了
我的资源文件存储为WEB-INF / classes / Application.properties文件。
答案 0 :(得分:2)
这是一个老帖子,但我的答案可以帮助,我猜...... 我个人浪费了一些时间让工作成为Tomcat 7下Tomcat 5.5下开发的项目。
注意:您应该命名您的资源文件:“ApplicationResources”...
有几个原因导致它不起作用,但我在网上找到的最常见的答案是:放线
<message-resources parameter="ApplicationResources" null="false" />
在你的“struts-config.xml”中。
在我的情况下,这一行已经存在,而这恰恰相反:我必须将其删除并在“web.xml”文件级别替换为:
<context-param>
<param-name>application</param-name>
<param-value>ApplicationResources</param-value>
</context-param>
在“servlet”标签中。
对不起,我没有这方面的有价值的解释,但我的申请表现得很好。 有没有人(解释)?
答案 1 :(得分:0)
可能缺少XML ... 您的应用程序在哪个上下文中运行? Tomcat? JBoss?
尝试包含xalan和xerces依赖项。
答案 2 :(得分:0)
这件事发生在我身上,因为我正在将我的项目转换为maven而我的resources
目录不正确。
我有这样的struts-config.xml:
<message-resources parameter="messages.appResources" null="false"/>
我的pom.xml是这样的:
<resource>
<directory>src/main/resources</directory>
</resource>
但我的messages
文件夹位于我的项目根目录中。所以我把它移到了:
${project.basedir}/src/main/resources/messages
答案 3 :(得分:0)
以下解决了我的问题:
在Struts配置中,包括:
(在顶部)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">
<message-resources
parameter="common.properties.Common" /> (or the path to your resources file)
此错误似乎是由于struts-config.xml中缺少消息资源的路径引起的 和DOCTYPE定义位于同一顶部。
答案 4 :(得分:0)
请确保您在struts-config.xml的标题中使用相同版本的DTD:
使用两个不同版本时出现此错误:
// EN” “http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd” &GT;
并且一旦进行了修正就解决了Pb:
答案 5 :(得分:0)
你应该把这一行放在你的struts-config.xml
中&LT; message-resources parameter =“ApplicationResources”null =“false” key =“ApplicationResources” /&gt;
答案 6 :(得分:0)
就我而言,问题在从 message-resources
文件中的 struts-config.xml
元素中删除所有不必要的属性后得到解决。就像下面这样:
<message-resources parameter="ApplicationResources"/>