2011-12-13 61 views
0

我正在使用jsf 2.0項目。我想從jar文件訪問xhtml文件。在jar文件中,我把三個文件first.html,second.xhtml,h1.jpg。我可以從jar使用以下url訪問jpg和html文件。如何從jar文件中訪問xhtml文件

<h:graphicImage url="#{resource['h1.jpg']}"/> 
<h:outputLink value="#{resource['first.html']}"> 
      <h:outputText value="OutputLink"/> 
</h:outputLink>} 

但我不能從jar使用以下URL訪問xhtml。

<h:outputLink value="#{resource['second.xhtml']}"> 
      <h:outputText value="OutputLink"/> 
</h:outputLink> 

<h:outputLink value="#{resource['second.jsf']}"> 
      <h:outputText value="OutputLink"/> 
</h:outputLink>} 

它給源找不到錯誤。

我的罐子結構的jar:META-INF /資源

回答

0

一個XHTML(一個facelet)文件是不是一種資源。只要參考它通常的方式。

<h:outputLink value="second.xhtml">OutputLink</h:outputLink> 

<h:link value="OutputLink" outcome="second" /> 
+0

感謝您的回覆。但我已經嘗試過了。它不工作。如果你有任何其他的想法請。 – KSHiTiJ

0

我一直有在過去幾天同樣的問題。我嘗試了一堆東西,什麼終於爲我工作是改變我的web.xml的頂部:

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

希望對你有用。

+0

這是默認/標準聲明。在你遇到問題之前你犯了什麼錯誤? – BalusC

+0

我使用2.5版本,當我將聲明切換到3.0時,我能夠訪問其他jar文件的meta-inf文件夾中的xhtml文件。我試過的其他東西只是像創建一個自定義解析器(這不應該需要jsf 2),並將一個faces-config放置在jar的meta-inf文件夾中。 – Chriskot

+0

您正在使用哪個JSF impl /版本? JSF 2.0支持Servlet 2.5,但JSF 2.1需要最少的Servlet 3.0。 – BalusC