java - jsf页面中的空白页面

标签 java templates jsf primefaces

<分区>

当我尝试打开我的页面时,我有一个空白页面 http://localhost:8084/Gpsi-worked/admin.xhtml但是当我尝试这个http://localhost:8084/Gpsi-worked/faces/admin.xhtml问题出在哪里,我在我的项目中使用模板。

最佳答案

那是因为 FacesServlet 映射到 /faces/* 而不是 *.xhtml 的 URL 模式。 FacesServlet 负责完成所有 JSF 工作。所有对 JSF 页面的请求都必须调用 FacesServlet。然后它将解析 XML 模板中的 Facelets 和 JSF 标记并生成 HTML 代码。右键单击网络浏览器中的空白页面并选择查看源代码。您会看到所有 JSF 标记都没有被解析。网络浏览器不理解 JSF 标签,它只理解 HTML。

为了摆脱/faces/* 路径,您需要更改web.xmlFacesServlet 的URL 模式> 来自

<url-pattern>/faces/*</url-pattern>

<url-pattern>*.xhtml</url-pattern>

唯一的(次要)警告是,如果不调用 FacesServlet,您将无法再提供纯 .xhtml 文件,但这些文件实际上应该作为 .html 无论如何 ;)

另见:

关于java - jsf页面中的空白页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6237224/

相关文章:

java - 添加 <mvc :annotation-driven> in applicationContext. xml 时出错

c++ - 在C++中将函数返回类型指定为模板参数

c++ - 如何自动生成C++函数?

c++ - 嵌套模板

java - 如何比较数据库和用户输入的字符串?

jsf - Icefaces Actionlistener 将参数传递到另一个页面

java - 将变量存储到我的服务器

java - 从给定日期获取周一至周五的周日期

java - 为什么我在 websocket 上收到错误/乱码/乱码的短信?

java - 如何从 JSF 中的不同应用程序访问 servlet 上下文