Primefaces TabMenuを使用している JSF ページに取り組んでいます。この投稿の可能な解決策を 1 つ見つけることができました。これはこれまでの解決策です:
メインページ:
<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>
....................
<!-- 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>
........................
</h:form>
</h:panelGroup>
</ui:composition>
</h:body>
</html>
フォームの問題が解決することを願っています。しかし、これらの問題が見つかりました: をクリックしh:commandButton
てテーブル ページを変更すると、 page にリダイレクトされますDCProfileTabZones.jsf
。ページに戻りませんDatacenterProfile.jsf?id=1002#
。を使っているからかもしれませんh:commandButton
。
2番目の問題はからh:selectOneMenu
です。別の番号を選択すると、Firebug で次のエラー メッセージが表示されます。
ReferenceError: mojarra is not defined
function onchange(event) {
mojarra.ab(this, event, "valueChange", "@form", "@form");
}
どうすれば問題を解決できるかアドバイスをお願いします。