jsf primefaces如何导航到up文件夹中的页面

时间:2013-04-14 15:50:47

标签: jsf primefaces

我无法找到如何导航到位于上部目录的页面。有可能吗? 这是我的项目结构:

enter image description here

问题: 如何在文件夹 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

1 个答案:

答案 0 :(得分:3)

<ui:xxx>组件中的所有路径都是webcontent root的绝对路径,即“Web Pages”文件夹。此外,您应该更喜欢使用以/开头的绝对路径而不是相对路径。

所以,这应该做:

<ui:composition template="/index.xhtml">

仅当您要手动创建URL(对于最终用户)时,才需要#{request.contextPath}。仅当您想要在其上调用JSF映射时才需要/faces

另见:


对具体问题

无关,建议将模板文件放在/WEB-INF文件夹中以防止直接访问。

另见: