私はテーブルを持っています:
<h:form id="form">
<p:dataTable id="table" styleClass="table" value="#{userMB.allAdmins}" var="admin" paginator="true" rows="15" rowKey="#{admin.id}" selection="#{userMB.user}" selectionMode="single" >
そしてテーブルにはajaxがあります:
<p:ajax event="rowSelect" listener="#{tableBean.onRowSelect()}" update=":form:table" />
私のテーブルビーン:
@ManagedBean
@RequestScoped
public class TableBean {
boolean flag = true;
/**
* Creates a new instance of TableBean
*/
public TableBean() {
}
public boolean getFlag() {
return flag;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
public void onRowSelect() {
flag = false;
}
}
行を選択すると、編集ボタンが有効になり、それ以外の場合は無効になります。私のボタン:
<p:commandButton action="#{userMB.editStart()}" value="#{msg.edit}" disabled="#{tableBean.flag}" ajax="false" icon="ui-icon-pencil"/>
メソッド editStart:
public String editStart() {
return "editStart";
}
ナビゲーションのみ:
<navigation-case>
<from-outcome>editStart</from-outcome>
<to-view-id>/protected/admin/adminEdit.xhtml</to-view-id>
</navigation-case>
私の問題は、編集ボタンをクリックすると、ページ adminEdit に移動せず、実際のページ adminList が更新されることです...なぜですか?