2017-10-10 270 views
1

我试图运行直接从primefaces网站获取的代码,但我收到了错误无法将结构投射到组织.primefaces.model.menu.MenuElement获取错误:UIInstructions无法转换为org.primefaces.model.menu.MenuElement

/这是我的AddUser.xhtml代码/

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:p="http://primefaces.org/ui" 
     > 

<h:head> 
     <title>Getting User Information</title> 

</h:head> 
<h:body> 
<h:form> 
     <p:menubar> 
        <p:submenu label="File" icon="ui-icon-document"> 
            <p:submenu label="New" icon="ui-icon-contact"> 
                <p:menuitem value="Project" url="#" /> 
                <p:menuitem value="Other" url="#" /> 
            </p:submenu> 
            <p:menuitem value="Open" url="#" /> 
            <p:separator /> 
            <p:menuitem value="Quit" url="#" /> 
        </p:submenu> 
  
        <p:submenu label="Edit" icon="ui-icon-pencil"> 
            <p:menuitem value="Undo" url="#" icon="ui-icon-arrowreturnthick-1-w" /> 
            <p:menuitem value="Redo" url="#" icon="ui-icon-arrowreturnthick-1-e" /> 
        </p:submenu> 
  
        <p:submenu label="Help" icon="ui-icon-help"> 
            <p:menuitem value="Contents" url="#" /> 
            <p:submenu label="Search" icon="ui-icon-search"> 
                <p:submenu label="Text"> 
                    <p:menuitem value="Workspace" url="#" /> 
                </p:submenu> 
                <p:menuitem value="File" url="#" /> 
            </p:submenu> 
        </p:submenu> 
  
        <p:submenu label="Actions" icon="ui-icon-gear"> 
            <p:submenu label="Ajax" icon="ui-icon-refresh"> 
                <p:menuitem value="Save" actionListener="#{menuView.save}" icon="ui-icon-disk" update="messages"/> 
                <p:menuitem value="Update" actionListener="#{menuView.update}" icon="ui-icon-arrowrefresh-1-w" update="messages"/> 
            </p:submenu> 
            <p:submenu label="Non-Ajax" icon="ui-icon-newwin"> 
                <p:menuitem value="Delete" actionListener="#{menuView.delete}" icon="ui-icon-close" update="messages" ajax="false"/> 
            </p:submenu> 
        </p:submenu> 
  
        <p:menuitem value="Quit" url="http://www.primefaces.org" icon="ui-icon-close" /> 
  
        <f:facet name="options"> 
            <p:inputText style="margin-right:10px" placeholder="Search"/> 
            <p:commandButton type="button" value="Logout" icon="ui-icon-extlink" /> 
        </f:facet> 
    </p:menubar> 

</h:form> 
</h:body> 
</html> 

/这是我的web.xml文件/

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> 
    <display-name>UserWebApp</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
    <servlet-name>Faces Servlet</servlet-name> 
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>/faces/*</url-pattern> 
    <url-pattern>*.xhtml</url-pattern> 
    <url-pattern>*.jsf</url-pattern> 

    </servlet-mapping> 

    <context-param> 
    <param-name>primefaces.THEME</param-name> 
    <param-value>afterdark</param-value> 
    </context-param> 

    <context-param> 
    <param-name>facelets.SKIP_COMMENTS</param-name> 
    <param-value>true</param-value> 
    </context-param> 


    <context-param> 
    <param-name>javax.faces.FACELETS_LIBRARIES</param-name> 
    <param-value>/WEB-INF/my.taglib.xml</param-value> 
</context-param> 

</web-app> 

/我的jar文件也放在WEB-INF/lib目录/

enter image description here

我已经提前

回答

0

我什么都试过在网上提供,但依然无法Ø解决它 谢谢找出问题所在。我直接从primefaces网站复制MenuBar代码(https://www.primefaces.org/showcase/ui/menu/menubar.xhtml

然后我意识到在每行代码之间都存在不可见的字符/东西。 (我想到了这一点,当我复制/粘贴java类代码), 一旦这些隐形的东西身份证删除,我的代码完美的作品。

/下面的代码也是primefaces网站代码,但免费的不可见的字符/

<h:form> 
<p:growl id="messages"/> 
<p:menubar> 
<p:submenu label="File" icon="ui-icon-document"> 
<p:submenu label="New" icon="ui-icon-contact"> 
<p:menuitem value="Project" url="#" /> 
<p:menuitem value="Other" url="#" /> 
</p:submenu> 
<p:menuitem value="Open" url="#" /> 
<p:separator /> 
<p:menuitem value="Quit" url="#" /> 
</p:submenu> 
<p:submenu label="Edit" icon="ui-icon-pencil"> 
<p:menuitem value="Undo" url="#" icon="ui-icon-arrowreturnthick-1-w" /> 
<p:menuitem value="Redo" url="#" icon="ui-icon-arrowreturnthick-1-e" /> 
</p:submenu> 
<p:submenu label="Help" icon="ui-icon-help"> 
<p:menuitem value="Contents" url="#" /> 
<p:submenu label="Search" icon="ui-icon-search"> 
<p:submenu label="Text"> 
<p:menuitem value="Workspace" url="#" /> 
</p:submenu> 
<p:menuitem value="File" url="#" /> 
</p:submenu> 
</p:submenu> 
<p:submenu label="Actions" icon="ui-icon-gear"> 
<p:submenu label="Ajax" icon="ui-icon-refresh"> 
<p:menuitem value="Save" actionListener="#{menuView.save}" icon="ui-icon-disk" update="messages"/> 
<p:menuitem value="Update" actionListener="#{menuView.update}" icon="ui-icon-arrowrefresh-1-w" update="messages"/> 
</p:submenu> 
<p:submenu label="Non-Ajax" icon="ui-icon-newwin"> 
<p:menuitem value="Delete" actionListener="#{menuView.delete}" icon="ui-icon-close" update="messages" ajax="false"/> 
</p:submenu> 
</p:submenu> 
<p:menuitem value="Quit" url="http://www.primefaces.org" icon="ui-icon-close" /> 
<f:facet name="options"> 
<p:inputText style="margin-right:10px" placeholder="Search"/> 
<p:commandButton type="button" value="Logout" icon="ui-icon-extlink" /> 
</f:facet> 
</p:menubar> 

</h:form> 
相关问题