在JSF页面中的Primefaces TabMenu

时间:2012-10-05 19:39:17

标签: java jsf jsf-2 primefaces

我正在使用Primefaces TabMenu的JSF页面。我设法找到了这个post的一种可能的解决方案。到目前为止,这是解决方案:

主页:

<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更改表格页面时,我会重定向到页面DCProfileTabZones.jsf。我没有回到DatacenterProfile.jsf?id=1002#页面。也许这是因为我使用h:commandButton

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

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

请您告诉我如何解决问题。

0 个答案:

没有答案