0

我正在使用 Primefaces TabMenu的 JSF 页面。我设法找到了这篇文章的一种可能的解决方案。这是迄今为止的解决方案:

主页:

<div id="settingsHashMapz" class="settingsHashMap" style="width:1150px; height:400px; position:absolute; top:20px; left:1px">

    <p:tabMenu id="tabs" activeIndex="0" >  
        <p:menuitem value="General" url="/DCProfileTabGeneral.jsf" />  
        <p:menuitem value="Zones" url="/DCProfileTabZones.jsf" />  
        <p:menuitem value="UPS" url="/DCProfileTabUPS.jsf" />  

    </p:tabMenu>  

</div>

选项卡中的 JSF 页面:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"    
      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:c="http://java.sun.com/jsp/jstl/core">
    <h:head>

    </h:head>
    <h:body>
        <ui:composition>
            <h:panelGroup>
                <h:form id="zones" >
                    <!-- The sortable data table -->
                    .................

                    <!-- The paging buttons -->
                    <h:commandButton styleClass="bimage" value="first" action="#{DCProfileTabZonesController.pageFirst}"
                                     disabled="#{DCProfileTabZonesController.firstRow == 0}" >
                        <f:ajax render="@form" execute="@form"></f:ajax>
                    </h:commandButton>&nbsp;

                    ....................

                    <!-- Set rows per page -->
                    <h:selectOneMenu id="setrows" value="#{DCProfileTabZonesController.rowsPerPage}" converter="javax.faces.Integer" maxlength="2">                                    
                        <f:selectItem itemValue="5" itemLabel="5" />
                        <f:selectItem itemValue="10" itemLabel="10" />
                        <f:selectItem itemValue="20" itemLabel="20" />
                        <f:selectItem itemValue="50" itemLabel="50" />
                        <f:selectItem itemValue="100" itemLabel="100" />     
                        <f:selectItem itemValue="200" itemLabel="200" />
                        <f:ajax render="@form" event="change" execute="@form" listener="#{DCProfileTabZonesController.pageFirst}" />
                    </h:selectOneMenu>&nbsp;

                   ........................
                </h:form>         
            </h:panelGroup>
        </ui:composition>
    </h:body>
</html>

我希望我能解决表格问题。但是我发现了这些问题:当我单击h:commandButton更改表格页面时,我被重定向到 page DCProfileTabZones.jsf。我没有返回到 page DatacenterProfile.jsf?id=1002#。也许这是因为我使用h:commandButton.

第二个问题来自h:selectOneMenu. 当我选择不同的数字时,我在 Firebug 中收到此错误消息:

ReferenceError: mojarra is not defined
function onchange(event) {
mojarra.ab(this, event, "valueChange", "@form", "@form");
} 

请您给我一些建议,我可以如何解决这些问题。

4

0 回答 0