0
私のアプリケーションのページの1つに、Ajaxイベントが発生しないselectOneMenuコンポーネントがあります。同様のコンポーネントを使って、似たようなページを期待通りに作っています。動作 一例:Ajaxイベントが呼び出されていません
<select id="transactionalParameters:0:debugLevelBusiness" name="transactionalParameters:0:debugLevelBusiness" class="form-control DEBUG" size="1"
onchange="mojarra.ab(this,event,'valueChange','@this',0)">
<option value="OFF">OFF</option>
<option value="ERROR">ERROR</option>
<option value="WARN">WARN</option>
<option value="INFO">INFO</option>
<option value="DEBUG" selected="selected">DEBUG</option>
</select>
動作しない成分:
<h:selectOneMenu value="#{debugParam.debugLevelBusiness}"
id="debugLevelBusiness"
rendered="#{not (debugParam.debugLevelBusiness eq 'DEPEN')}"
styleClass="form-control #{debugParam.debugLevelBusiness}">
<f:selectItems value="#{manager.logLevels}" />
<f:ajax execute="@this" listener="#{loggingBean.businessValueChangeListener(debugParam)}" />
</h:selectOneMenu>
は、以下の要素を生成
<h:selectOneMenu value="#{parameter.epmsEventsLogState}"
id="epmsEventsLogState"
styleClass="form-control #{parameter.epmsEventsLogState}">
<f:selectItem itemLabel="#{labels.enabled}" itemValue="E" />
<f:selectItem itemLabel="#{labels.disabled}" itemValue="D" />
<f:ajax execute="@this" listener="#{eventsLogBean.valueChangeListener(parameter)}" />
</h:selectOneMenu>
は、以下の要素を生成し:
<select id="parameters:19:epmsEventsLogState" name="parameters:19:epmsEventsLogState" size="1"
onchange="jsf.ajax.request('parameters:19:epmsEventsLogState',event,{execute:'@this ','javax.faces.behavior.event':'valueChange'})" class="form-control E">
<option value="E" selected="selected">Ativo</option>
<option value="D">Inativo</option>
</select>
両方の要素で生成されたjavascriptの違いに注目してください。 これはWebSphere 9でのみ問題を引き起こしています。これはGlassFishとWildFlyでうまくいきます。 問題の原因を知っている人は誰ですか?
セルフアンサーリングはスタックオーバーフローで受け入れられるので、謝罪する必要はありません。 ;) – Haxiel