タイトルが示すように、a4j:commandLink をクリックすると、メソッドが完全に実行され、必要なテーブルが更新されます。
問題は、a4j:commandLink が Bean にポストされた後、ページの js が消えていることです。
編集:もう少し明確にするために、jsが消えるということは、Mozilla firebugでページのjavascriptを探すと表示されないということです。これは正常ですか?私は何を間違っていますか?これに対する最善のアプローチはありますか?
コードは次のとおりです。
<h:panelGroup id="examplePanel" >
<h:panelGroup rendered="#{not empty exampleBean.list}">
<table id="listDataTable" width="100%" cellspacing="0"
cellpadding="0" border="0" style="margin-left: 0pt; width: 716px;">
<thead>
<tr>
<th>col1</th>
<th>col2</th>
<th>col3</th>
<th class="shortCol">col4</th>
</tr>
</thead>
<tbody>
<a4j:repeat value="#{exampleBean.list}" rowKeyVar="itStatus" var="item">
<tr>
<td>
<h:outputText value="#{exampleBean.exampleShow(item)}" />
</td>
<td>
<h:outputText value="#{exampleBean.exampleShow(item)}" />
</td>
<td>
<h:outputText value="#{exampleBean.exampleShow(item)}" />
</td>
<td>
<h:commandLink action="#{exampleShow(item)}" ></h:commandLink>
</td>
</tr>
</a4j:repeat>
</tbody>
</table>
</h:panelGroup>
</h:panelGroup>
<h:outputLabel value="* #{locale.name}:" />
<h:inputText value="#{exampleBean.exampleName}"
disabled="#{not exampleBean.edit}" id="exampleName" />
<div class="button search">
**<a4j:commandLink action="#{exampleBean.objetToTable}" value="#{locale.create}" render="exampleTurnPanel" ></a4j:commandLink>**
</div>
この前は、ah:commandLink を使用して af:ajax を使用していました。しかし、これでは、POST が実行されないため、Bean には値がありませんでした。正しい?
<h:commandLink action="#{exampleBean.objetToTable}" value="#{locale.create}">
<f:ajax execute="examplePanel" render="examplePanel" onevent="setExampleTableCss"/> </h:commandLink>
よろしく。