jsf页面中的空白页面

时间:2011-06-04 14:16:06

标签: java templates jsf primefaces

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

3 个答案:

答案 0 :(得分:5)

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

为了摆脱/faces/*路径,您需要更改

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

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

这有唯一的(次要的)警告,你不能在不调用.xhtml的情况下提供普通FacesServlet文件,但这些文件实际上应该作为.html服务;)

答案 1 :(得分:0)

web.xml中,您将指定一个servlet映射,它将查找带有/faces/*(或者也可能是.faces)的URL路径,以便将请求发送到{{1} }}。如果您不想要FacesServlet前缀,请将映射更改为更合适的映射。

答案 2 :(得分:0)

你确定这是一张空白页吗?因为你应该有一个错误,也许如果你看一下空白页面的来源,你可能会看到你的JSF页面未经处理?