我刚刚开始使用JSF和Facelets,我已经整理了一个非常简单的页面,它只是从另一个文件中取一个模板并插入一些文本(只是为了表明它从模板中提取信息)调用页面)
但是,每当我尝试在Internet Explorer 7中查看该页面时,它都会尝试下载该页面,因为它不知道它是什么。环顾四周后,我了解到IE不会渲染xhtml,导致问题,所以我的问题就是这个。
如何让facelets在Internet Explorer中正常运行?
我试图将面向使用的扩展更改为各种各样的东西(.html,.jsf,.magic,moreMagic等等),但无济于事。我是否遗漏了一些非常基本的东西,或者我只是需要找到一个不同的模板/自定义标记框架?
仅仅是为了记录,我正在运行JBoss-4.2.3.GA,Java EE 5,JSF 1.2,以及使用IE 7和myEclipse 7.5。由于工作限制,我无法升级任何一个。
答案 0 :(得分:2)
嗯,看起来我需要更多的挖掘,所以这就是任何遇到同样障碍的人的答案。
您仍然以.faces的形式访问网页,您的web.xml实际上会将.faces传递给.xhtml并为您处理
答案 1 :(得分:1)
我在Internet Explorer 8和Glassfish 3.0.1中遇到了同样的问题。但是,解决方案是不同的。
在我的情况下,我必须重命名我的表单登录和表单错误页面,以使用 .html 扩展名而不是 .xhtml 即可。这解决了我的问题。所有其他页面都可以使用.xhtml扩展名而不会出现问题。这是web.xml的工作片段:
<login-config>
<auth-method>FORM</auth-method>
<realm-name>file</realm-name>
<form-login-config>
<form-login-page>/login.html</form-login-page>
<form-error-page>/loginError.html</form-error-page>
</form-login-config>
</login-config>
希望这有帮助。