我无法找到如何导航到位于上部目录的页面。有可能吗? 这是我的项目结构:
问题:
如何在文件夹 main_pages 的任何页面的代码中包含<ui:composition template="web2/web/index.xhtml">
以及如何插入来自 images 文件夹的图片(我无法找到正确的道路,io.exception仍然是):
onas.xhtml
index.xhtml
当我改变作曲时:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
>
<h:body>
<ui:composition template="web2/web/index.xhtml">
<ui:define name="centerContent">
<h:form>
<p:growl id="msg" showDetail="true" sticky="true" />
<p:panelGrid styleClass="myPanel">
<p:row>
<p:column>
<ui:param name="mainTag" value="Z chęcią odpowiemy" />
<h2>Zapytaj</h2>
<h4>#{mainTag}</h4></p:column>
</p:row>
<p:row>
<p:column><p:inputTextarea styleClass="myTextArea" autoResize="true" value="#{mySendBean.mailContent}"/></p:column>
<p:column>
<h:commandButton actionListener="#{mySendBean.sendMail2()}" value="Wyślij" update="msg">
</h:commandButton>
</p:column>
</p:row>
</p:panelGrid>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
我收到错误:
<ui:composition template="#{request.contextPath}/index.xhtml">
或者如果我添加/ faces /:
/onas.xhtml @11,74 <ui:composition template="#{request.contextPath}/index.xhtml"> Invalid path : /web2/faces/index.xhtml
答案 0 :(得分:3)
<ui:xxx>
组件中的所有路径都是webcontent root的绝对路径,即“Web Pages”文件夹。此外,您应该更喜欢使用以/
开头的绝对路径而不是相对路径。
所以,这应该做:
<ui:composition template="/index.xhtml">
仅当您要手动创建URL(对于最终用户)时,才需要#{request.contextPath}
。仅当您想要在其上调用JSF映射时才需要/faces
。
无关,建议将模板文件放在/WEB-INF
文件夹中以防止直接访问。