p: tabView Неправильная загрузка - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь использовать Primefaces TabView (Primefaces 5.0, Netbeans 8.2, JSF 2.3.2) в шаблоне. Однако, когда он загружается, он загружается как список интерактивных ссылок со всей информацией о вкладках под ним. Изображение, показывающее проблему Вот моя главная страница указателя:

<!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:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
    <head>

    </head>
    <h:body>
        <h:form>
        <h1>Select table to interact with:</h1>
        <h:selectOneMenu value="#{eJBTest.table}" onchange="submit()" valueChangeListener="#{eJBTest.loadTemplate}">
            <f:selectItem itemValue="default" itemLabel="Select One"/>
            <f:selectItem itemValue="supplier" itemLabel="Supplier"/>
            <f:selectItem itemValue="part" itemLabel="Part"/>
            <f:selectItem itemValue="sp" itemLabel="SP"/>
        </h:selectOneMenu>
        <ui:include src="#{eJBTest.template}"/>
        </h:form>
    </h:body>
</html>

Вот метод loadTemplate:

public void loadTemplate(ValueChangeEvent event) throws IOException {
        System.out.println("Loading Template");
        table = event.getNewValue().toString();
        template = "/template/" + table + ".xhtml";
        editTemplate = "/template/funct/" + table + "Edit.xhtml";
        newTemplate = "/template/funct/" + table + "New.xhtml";
        deleteTemplate = "/template/funct/" + table + "Delete.xhtml";
        listTemplate = "/template/funct/" + table + "List.xhtml";
        FacesContext.getCurrentInstance().getExternalContext().redirect("index.xhtml");
    }

и одна из вкладок, которые я пытаюсь загрузить:

<h:body>
        <ui:composition>
            <p:tabView id="tabView" activeIndex="#{eJBTest.activeSIndex}" dynamic="true">
                <p:tab id="new" title="New">
                    <h:outputText value="Supplier Id: "/><h:inputText value="#{eJBTest.supId}"/><br/>
                    <h:outputText value="Supplier Name: "/><h:inputText value="#{eJBTest.name}"/><br/>
                    <h:outputText value="Supplier Status: "/><h:inputText value="#{eJBTest.status}"/><br/>
                    <h:outputText value="Supplier City: "/><h:inputText value="#{eJBTest.city}"/><br/>
                    <h:commandButton value="Add Supplier" action="#{eJBTest.createNewSupplier()}"/><br/>
                </p:tab>
                <p:tab id="edit" title="Edit">
                    <h:selectOneMenu value="#{eJBTest.keyValue}" valueChangeListener="#{eJBTest.loadSupplier}" onchange="submit()">
                        <f:selectItems value="#{eJBTest.getSupplierId()}"/>
                    </h:selectOneMenu><br/>
                    <div id="text">
                        <h:outputText value="Supplier Name:"/><h:inputText value="#{eJBTest.name}"/><br/>
                        <h:outputText value="Supplier Status:"/><h:inputText value="#{eJBTest.status}"/><br/>
                        <h:outputText value="Supplier City:"/><h:inputText value="#{eJBTest.city}"/><br/>
                        <h:commandButton value="Edit" action="#{eJBTest.editSupplier()}"/>
                    </div>
                </p:tab>
                <p:tab id="delete" title="Delete">
                    <h:selectOneMenu value="#{eJBTest.keyValue}">
                        <f:selectItems value="#{eJBTest.getSupplierId()}"/>
                    </h:selectOneMenu>
                    <h:commandButton value="Delete" action="#{eJBTest.deleteSupplier()}"/>
                    <h:outputText value="#{eJBTest.message}"/>
                </p:tab>
                <p:tab id="list" title="List">
                    <h:outputText value="#{eJBTest.supplierData.toString()}"/>
                </p:tab>
            </p:tabView>
        </ui:composition>
    </h:body>

Все три шаблона в настоящее время делают это, где они работали раньше. Я понятия не имею, что я сделал, чтобы вызвать это.

...