JSF html命名空间不起作用

时间:2012-09-26 09:17:01

标签: html jsf maven

我正在使用一个maven项目,该项目将WAR存档部署到将EAR存档部署到JBoss服务器的项目中。

这是我的Facelets代码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC 
    "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core">
<h:head>
    <title>title</title>
</h:head>
<h:form>

    <h:body>
        <input type="button" value="babap"></input>
        <h1>Ueberschrift</h1>

        <p>paragraph</p>

        <h:outputText value="outputText" />

        text at bottom
    </h:body>
</h:form>
</html>

<h:outputtext>外,一切似乎都有效。它根本没有出现在网站上。这是怎么造成的,我该如何解决?

1 个答案:

答案 0 :(得分:1)

  

除了h:outputtext之外,一切似乎都有效。它根本没有出现在网站上。

请求网址(浏览器地址栏中显示的网址)是否与FacesServlet的网址格式匹配?如果没有,那么它将不会被调用,因此所有JSF工作都不会被执行。

您需要确保请求网址与FacesServlet的网址格式相匹配。如果它映射到*.jsf,则按/foo.jsf而不是/foo.xhtml打开页面。或者,更好的是,只需将FacesServlet中的web.xml的网址格式更改为*.xhtml即可。这样您就不必担心虚拟URL。