1

我不知道如何导航到位于上层目录中的页面。有可能吗?这是我的项目结构:

在此处输入图像描述

问题:在要包含的文件夹main_pages<ui:composition template="web2/web/index.xhtml">的任何页面的代码中,行应该如何以及如何从images文件夹中插入 ie 图像(我无法获得正确的路径,io.exception 仍然):onas.xhtmlindex.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">

我得到错误:

/onas.xhtml @11,74 <ui:composition template="#{request.contextPath}/index.xhtml"> Invalid path : /web2/faces/index.xhtml

或者如果我添加 /faces/:

/onas.xhtml @11,74 <ui:composition template="#{request.contextPath}/faces/index.xhtml"> Invalid path : /web2/faces/index.xhtml
4

1 回答 1

3

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

所以,这应该这样做:

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

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

也可以看看:


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

也可以看看:

于 2013-04-14T17:51:47.377 回答