XML .xhtml 文件中的解析器错误

XML Parser Error in .xhtml file

将我们的 EAR 文件部署到 Glassfish 3.1.2 Build 23 后,我在我的 Firefox 浏览器中收到此错误:

XML 解析错误:未找到元素位置:https://localhost:8181/TranscriptTool/welcome/index.xhtml 行号 1,第 1 列:

部署的 EAR 文件没有任何错误,在另一台服务器上工作正常,但是这台服务器产生了上述错误。

我没能找到原因。

这是 index.xhtml 文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition template="/template/no_menu_layout.xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui"
    xmlns:tt="http://jsf/transcripttool">
    <ui:define name="title">
        Login
    </ui:define>
    <ui:define name="content">
    <h:form prependId="false">
        <br/>
        <p:panelGrid  style="margin: 0 auto;">
            <p:row>  
                <p:column><h:outputLabel for="username" value="Username:" /></p:column>
                <p:column><p:inputText value="#{userLoginSession.username}"   
                    id="username" required="true" label="username" /></p:column>        
            </p:row>
            <p:row>  
                <p:column><h:outputLabel for="password" value="Password:" /></p:column>
                <p:column><p:password value="#{userLoginSession.password}"   
                            id="password" label="password" /></p:column>        
            </p:row>
            <p:row>
                <p:column colspan="2" style="text-align: center;"><p:commandButton id="loginButton" value="Login"    
                     action="#{userLoginSession.login}" ajax="false"/></p:column>
            </p:row>
        </p:panelGrid>
        <div class="ui-widget" style="text-align: center;">
            <h:link outcome="passwordReset" value="Reset Password"/>
        </div>          
    </h:form>
    <div style="position: absolute;width: 100%;bottom: 70px;">
    </div>
    <tt:errPopup id="userError" isModal="true"
            errorHandle="#{userLoginSession.errorMessages}" />
    </ui:define>
</ui:composition>

谢谢艾维斯

我建议您检查 index.xhtml "template="/template/no_menu_layout.xhtml" 中引用的模板页面,因为这个 index.xhtml 似乎没问题。还要检查以确保在 xmlns:tt="http://jsf/transcripttool" 引用的自定义组件中所有标签都正确关闭。

我们通过将整个 GLASSFISH 目录从一台工作的服务器复制到一台不工作的服务器来修复错误。自然不得不更改 domain.xml 文件中的一些条目,但在这样做之后,应用程序现在可以正常运行。