gpt4 book ai didi

java - JSF 2.0 - 移动和 PC 浏览器的两个界面

转载 作者:行者123 更新时间:2023-11-29 06:19:59 25 4
gpt4 key购买 nike

我正在开发一个需要两个界面的应用程序 - 一个用于手机浏览器,另一个用于普通 PC 浏览器。第二个界面需要呈现更多信息并具有更多功能。当然,它们都在同一个项目中,使用相同的 bean,等等。只是表示层发生了变化。目前,我只有手机的界面。当我选择地址时可以访问://ip-address:8080/App/但当我尝试直接转到具有该界面的页面时不能访问://ip-address:8080/App/page.jsp。我收到以下错误:

org.apache.jasper.JasperException: An exception occurred processing JSP page /page.jsp at line 30

javax.faces.context.FacesContext context = javax.faces.context.FacesContext.getCurrentInstance(); 30:
context.getViewRoot().setLocale(newLocale); 31: %> 32: 33:

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)

root cause

java.lang.NullPointerException org.apache.jsp.page_jsp._jspService(page_jsp.java:91) 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)

当然,我的 web.xml 中有信息,欢迎页面设置为

<welcome-file-list>
<welcome-file>faces/page.jsp</welcome-file>
</welcome-file-list>

如果我要从 web.xml 中删除这部分,我是否能够访问该页面,或者问题是否与其他问题有关?最后,我想通过提供这样的链接来访问不同的界面:

//ip-address:8080/App/mobile_page.jsp//ip-address:8080/App/browser_page.jsp

感谢任何输入。此致,萨斯。

最佳答案

此异常表明 FacesContext#getCurrentInstance() 正在返回 null。这意味着未创建 FacesContext。对此负责的是 FacesServlet。这反过来意味着 FacesServlet 根本没有被调用。

要调用 FacesServlet,您需要确保请求 URL 与 FacesServlet 中定义的 url-pattern 匹配 >web.xml.

您似乎已将 FacesServlet 映射到 /faces/* 上。所以,你需要通过http://ip-address:8080/App/faces/page.jsp打开页面因此不是 http://ip-address:8080/App/page.jsp .

关于java - JSF 2.0 - 移动和 PC 浏览器的两个界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3520408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com