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