📜  javax.servlet.ServletException: javax.servlet.jsp.JspException: Missing message for key - Java (1)

📅  最后修改于: 2023-12-03 15:16:19.165000             🧑  作者: Mango

异常介绍:javax.servlet.ServletException: javax.servlet.jsp.JspException: Missing message for key - Java

异常原因

在JSP中使用<fmt:message>标签在显示国际化资源时,如果该资源文件中不存在相应的key,就会抛出该异常。简单来说就是缺少key对应的value值。

解决方案
  1. 首先检查相应的国际化资源文件是否存在,是否该key对应的value值真的存在于文件中。
  2. 确认JSP中使用的locale是否正确。一般来说,项目中会有多个locale文件,需要确认JSP中使用的是哪个文件,locale是否正确。
  3. 根据异常信息,可以确定产生异常的JSP文件和出错的位置,根据需要进行修改。
  4. 如果以上解决方案都不能解决问题,建议检查程序的配置是否正确。
特别提醒

在开发阶段,可以开启Tomcat的本地化(localization)功能,在控制台输出更详细的异常信息,帮助更快解决该异常问题。

<Context path="/app-name" ...>
...
    <WatchedResource>WEB-INF/classes/*.properties</WatchedResource>
...
</Context>

同时,在log4j.properties配置文件中可以设置org.apache.struts为DEBUG级别以获得更详细的日志信息。

# Struts log level
log4j.logger.org.apache.struts=DEBUG