Html JSF2.0 EL标签don';不在浏览器中渲染

Html JSF2.0 EL标签don';不在浏览器中渲染,html,eclipse,jsf-2,tomcat7,el,Html,Eclipse,Jsf 2,Tomcat7,El,下面是我的index.html文件,其中包含JSF: 当我在Eclipse Indigo中选择Run as>Run on Server(Tomcat 7.0.12)时,我会看到一个页面,上面只显示以下内容: You have login attempts left. 同样的情况也发生在铬合金上。虽然在查看了页面的源代码之后,它的显示方式与我在Eclipse(以前的Paste文件)中编写的一样,但它似乎应该被翻译成html 这是我的Member.java文件: 这是我的web.xml: 在我注意

下面是我的
index.html
文件,其中包含JSF:

当我在Eclipse Indigo中选择
Run as>Run on Server
(Tomcat 7.0.12)时,我会看到一个页面,上面只显示以下内容:

You have login attempts left.
同样的情况也发生在铬合金上。虽然在查看了页面的源代码之后,它的显示方式与我在Eclipse(以前的Paste文件)中编写的一样,但它似乎应该被翻译成html

这是我的Member.java文件: 这是我的web.xml:

在我注意到将JSF2.0与JSF1.*语法混合使用之前,它曾经是有效的。然后我把我的*.jsp改成了*.html,但它不起作用

Pastie好像关机了(我看不懂你的文件)。。。但是Tomcat并不是一个完整的JavaEE容器。你需要Mojarra运行时。您的构建中是否包含了这些内容

编辑:回来了。我在web.xml中看到了JSFServlet,因此您可以忽略这个答案

EDIT2:将此添加到web.xml:

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

javax.faces.DEFAULT_后缀
.xhtml
然后将.html文件重命名为.xhtml。我感觉servlet不知道它应该使用JSF呈现您的文件

EDIT3:所以我认为现在发生的事情是你让服务器对是否应该使用Faces呈现页面感到困惑。您在URL栏中的URL是“localhost/app/faces/index.html”,它与文件完全匹配。那么,它应该执行sendfile还是通过servlet运行它呢?重命名为.xhtml可能有效的原因是,在内部,它知道必须将.html请求映射到.xhtml文件

因此,可以尝试将文件重命名为.html5,然后在web.xml中设置:

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

javax.faces.DEFAULT_后缀
.html5
我认为任何扩展都会有效。。。您也可以进行以下组合:

  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  <context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.html</param-value>
  </context-param>

Facesservlet
*.jsf
javax.faces.DEFAULT_后缀
.html

那么您的主页将是
http://localhost/app/index.jsf

我正在尝试使用HTML5,*.xhtml对HTML5仍然有效吗?我尝试了以下
..*.html..
的servlet映射,但当我尝试加载页面时,服务器不断崩溃。接下来,您可以将其更改为
.html
,它应该仍然可以工作。不要更改您的servlet映射,您已经正确设置了它。啊,我以前试图同时映射servlet和上下文参数,但我不理解servlet映射背后的思想,也找不到有关
上下文参数
配置的任何信息。谢谢,我会试试你的建议。用
.html
试过,但不起作用,但后来我用
.xhtml
试过,并将我的文件重命名为
*.xhtml
,效果很好。。。那么读取.html有什么问题呢?所以servlet映射映射到servlet的外部。然后上下文parm将servlet映射到文件。我想把它们设置成相同的东西会引起一个问题。。。老实说,我不太确定。更新了web.xml,有两个版本,每个版本的作用是:语句“它的显示方式与我在Eclipse中编写的一样”与标题冲突。请澄清具体问题。在webbrowser中右键单击并查看源代码时,您会看到什么?你们真的明白你们在标题中说“EL”是什么意思吗?