Internationalization JSF2.0加载捆绑包
我得到了以下错误:Internationalization JSF2.0加载捆绑包,internationalization,jsf-2,bundle,Internationalization,Jsf 2,Bundle,我得到了以下错误: > org.apache.jasper.JasperException: An > exception occurred processing JSP page > /ajax/busstop_ajax.jsp at line 12 10: <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%> 11: <%@taglib prefix="h" uri="http:
> org.apache.jasper.JasperException: An
> exception occurred processing JSP page
> /ajax/busstop_ajax.jsp at line 12
10: <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
11: <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
12: <f:loadBundle basename="/../messages.Messages" var="msg" />
13:
14: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
15: "http://www.w3.org/TR/html4/loose.dtd">
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
root cause
java.lang.NullPointerException
com.sun.faces.taglib.jsf_core.LoadBundleTag.doStartTag(LoadBundleTag.java:148)
org.apache.jsp.ajax.busstop_005fajax_jsp._jspx_meth_f_005floadBundle_005f0(busstop_005fajax_jsp.java:184)
org.apache.jsp.ajax.busstop_005fajax_jsp._jspService(busstop_005fajax_jsp.java:68)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
>org.apache.jasper.jaspereException:
>处理JSP页面时发生异常
>/ajax/bustop_ajax.jsp,第12行
10:
11:
12:
13:
14:
堆栈跟踪:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javaservlet.http.HttpServlet.service(HttpServlet.java:717)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
根本原因
java.lang.NullPointerException
jsf_core.LoadBundleTag.doStartTag(LoadBundleTag.java:148)
org.apache.jsp.ajax.bustop\u 005fajax\u jsp.\u jspx\u meth\u f\u 005floadBundle\u 005f0(bustop\u 005fajax\u jsp.java:184)
org.apache.jsp.ajax.bustop\u 005fajax\u jsp.\u jsp服务(bustop\u 005fajax\u jsp.java:68)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javaservlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javaservlet.http.HttpServlet.service(HttpServlet.java:717)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
我正在尝试添加一个包,以便能够转换接口。整个页面使用jsp而不是html
<%@page import="java.util.List"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<f:loadBundle basename="messages.Messages" var="msg" />
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<f:view>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>JSP Page</title>
</head>
<body>
...
</body>
</html>
</f:view>
JSP页面
...
我也尝试将其添加到faces配置中,但没有成功。我做错了什么?
谢谢你的帮助 当FacesContext
不存在时,
会像这样抛出NPE
换句话说,您没有通过FacesServlet
的url模式调用请求,正如web.xml
中定义的那样。FacesServlet
即负责创建FacesContext
的人。如果url模式
例如是*.jsf
,则应通过pagename.jsf
而不是pagename.jsp
在webbrowser中打开页面
顺便提一下,stacktrace还提供了证据,证明它根本没有被JSF处理过。在调用f:loadBundle
之前,没有一行代码表明jsfapi或impl的参与
也就是说(与当前的问题无关),考虑到您使用的是JSF2.0(至少,您是这样标记的),并且Facelets是JSP的高级继承者(就JSF而言),我强烈建议完全放弃JSP,改用Facelets。
将在不存在FacesContext
时抛出NPE
换句话说,您没有通过FacesServlet
的url模式调用请求,正如web.xml
中定义的那样。FacesServlet
即负责创建FacesContext
的人。如果url模式
例如是*.jsf
,则应通过pagename.jsf
而不是pagename.jsp
在webbrowser中打开页面
顺便提一下,stacktrace还提供了证据,证明它根本没有被JSF处理过。在调用f:loadBundle
之前,没有一行代码表明jsfapi或impl的参与
也就是说(与当前的问题无关),考虑到您使用的是JSF2.0(至少,您是这样标记的),并且Facelets是JSP的高级继承者(在JSF的情况下),我强烈建议完全放弃JSP,改用Facelets