Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 赢得了新的.xhtml页面';不呈现任何jsf标记,但以前创建的标记在同一项目中仍然可以正常工作_Java_Html_Jsf_Javabeans_Facelets - Fatal编程技术网

Java 赢得了新的.xhtml页面';不呈现任何jsf标记,但以前创建的标记在同一项目中仍然可以正常工作

Java 赢得了新的.xhtml页面';不呈现任何jsf标记,但以前创建的标记在同一项目中仍然可以正常工作,java,html,jsf,javabeans,facelets,Java,Html,Jsf,Javabeans,Facelets,我有一个非常奇怪和愚蠢的问题,已经被阻止了。我有许多使用表单的xhtml页面,它们都工作得很好。我创建了一个名为registerUser.xhtml的新xhtml页面。我通过右键单击“Web pages”文件夹并选择new>xhtml页面创建了它,就像我对其他六个页面所做的那样。我输入了代码,当我在web浏览器中查看页面时,它什么也不显示。如果我查看源代码,它将显示JSF标记,而不是html。如果我把任何代码或纯文本放在表单标记之外,它就会显示出来,这样它就和表单标记有关。即使我把一个完美的工作

我有一个非常奇怪和愚蠢的问题,已经被阻止了。我有许多使用表单的xhtml页面,它们都工作得很好。我创建了一个名为registerUser.xhtml的新xhtml页面。我通过右键单击“Web pages”文件夹并选择new>xhtml页面创建了它,就像我对其他六个页面所做的那样。我输入了代码,当我在web浏览器中查看页面时,它什么也不显示。如果我查看源代码,它将显示JSF标记,而不是html。如果我把任何代码或纯文本放在表单标记之外,它就会显示出来,这样它就和表单标记有关。即使我把一个完美的工作页面复制到这个新页面,它仍然不工作

我注意到一件事

通常,当我第一次在一个页面中创建一个c:、h:或f:标记时,我会收到一个错误,说它没有绑定,然后我单击它并点击alt enter,它会给我添加内容的选项,这会将xlmns:h添加到html标记中。我不完全理解它是如何工作的,但它与名称空间有关…无论如何,无论出于什么原因,该选项没有显示…显示的唯一选项是“删除周围的标记”,如果我实际单击它,它显然不能解决我的问题

所以没有什么大不了的,它不会自动添加xmlns,我可以自己添加,复制另一个页面上的内容……但是没有,仍然没有。为什么这不起作用

我在这个项目中尝试创建了许多新的xhtml文件,结果在表单元素上是一样的,里面没有任何内容被呈现,这表明了这个错误

我以前的所有页面都很好。我在互联网上读到过关于更改WEB-INF文件的内容,但我必须这样做是没有意义的,因为我已经存在的页面可以正常工作,只是新页面,而且我知道最近没有任何变化

我还应该指出,我在index.xhtml文件的projects窗口中右键单击了copy/paste,这完全可以正常工作,然后当我运行项目时,index.xhtml可以正常加载,但是当我手动导航到index_1.xhtml(这是粘贴的版本)时,没有任何JSF被呈现

registerUser.xhtml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html">
    <head>
        <title>Jadestar's PC Solutions</title>
    </head>
    <body>
        <h:form>
            <h:panelGrid>
            <h:outputLabel value="Username: " style="font-weight:bold" />
            <h:inputText value="#{CustomBuild.username}" />
            <br></br>
            <h:outputLabel value="Password: " style="font-weight:bold" />
            <h:inputSecret value="#{CustomBuild.password}" />
            <br></br>
            <h:outputLabel value="Name: " style="font-weight:bold" />
            <h:inputText value="#{CustomBuild.name}" />
            <br></br>
            <h:outputLabel value="Address " style="font-weight:bold" />
            <h:inputText value="#{CustomBuild.address}" />
            <br></br>
            <h:outputLabel value="Phone Number: " style="font-weight:bold" />
            <h:inputText value="#{CustomBuild.phone}" />
            <br></br>
            <h:outputLabel value="Email Address: " style="font-weight:bold" />
            <h:inputText value="#{CustomBuild.email}" />
            <br></br>
            </h:panelGrid>
            <h:commandButton id="register" value="Reigster" action="#{CustomBuild.registerUser()}"/>
        </h:form>
        <br></br>
        <h:form>
            <h:commandButton id="cancel" value="Cancel" action="index" />
        </h:form>
    </body>
</html>

Jadestar的PC解决方案















因此,在复制和创建了大量新项目并进行了大量研究之后,我发现如果我创建了一个新的web项目,index.xhtml页面也可以正常工作,但是在该项目中创建的任何新页面也无法呈现JSF标记。我终于发现了这个问题。在web-INF目录中的web.xml中,我缺少以下行

    <url-pattern>*.xhtml</url-pattern>
*.xhtml
在标签里面

所以通过添加这个,我的新jsf页面现在突然开始工作了……但我的问题仍然是,没有这个标签,我的当前页面如何工作,而不是新页面?这没有道理

缓存问题?在chrome中启用了控制台和“空缓存和硬重新加载”,结果仍然相同,所以它不能被缓存,不是吗

我应该提到,在这个项目进行到一半时,我将Netbeans 7.x.x、Java 7.x和Glassfish 3.x更新为Netbeans 8、Java 8和Glassfish 4。因为在这次升级之后,我的当前页面仍然可以正常工作,所以我认为这不是原因,但可能是因为其中有什么东西坏了

很高兴听到有人解释或有类似问题