2012-03-04 42 views
2

我有一个简单的jsf 1.2项目(richfaces 3.3实现),我已经将servlet映射设置为*.xhtml。我也有一个简单的bean和一个简单的页面来显示数据。jsf * .xhtml映射不工作,重定向到jsp

我尝试运行该项目,但是,尽管我要求mypage.xhtml,我莫名其妙地重定向,我得到以下错误:

The requested resource (/rich_test/mypage.jsp) is not available. 

哪里从何而来的错误?

我还需要进一步设置吗?

回答

3

对于JSF 1.x,默认视图技术是JSP。 Facelets(XHTML)仅在JSF 2.x中成为默认。如果要在JSF 1.x中使用Facelets,则基本上需要将缺省后缀设置为.xhtml而不是.jsp(安装了Facelets JAR文件并注册了Facelets视图处理程序之后)。

<context-param> 
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name> 
    <param-value>.xhtml</param-value> 
</context-param> 

然而,在JSF 1.x中,这样的FacesServlet将在一个无限循环,因为每次运行时,它需要解决的XHTML文件,它会再次调用本身。此问题不再发生在JSF 2.x上。对于JSF 1.x,最好的办法是使用*.jsf的URL模式。

+0

在faces-config.xml中有一个空白页面和'faces-config =“2.0”'为什么? xhtml在2.0中是默认的吗? – texasbruce 2013-07-27 22:00:39

+0

@texas:如果您有任何问题,请按'提问问题'按钮。 – BalusC 2013-07-28 01:17:38