2011-12-13 53 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