jsf页面中的空白页面

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

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

为了摆脱/faces/*路径,你需要改变

 /faces/* 

 *.xhtml 

这有唯一(次要)警告,你不能再调用.xhtml文件而不调用FacesServlet ,但这些文件实际上应该作为.html ;无论如何;)

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

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