0

上記のコードは、彼のアイテムのいくつかを選択すると完全に機能します... a4j:support は正常に機能し、別のフィールドを正しく再レンダリングします...問題は、1 つのアイテムを選択してから " noSelectionLabel"... 何らかの理由でこれを行うと、a4j:support が機能しなくなり、メソッド "setarFormulario" に入らず、別のフィールドを再レンダリングしません...

<s:decorate template="layout/form.xhtml">
            <ui:define name="label">Evento:</ui:define>
            <h:selectOneMenu value="#{home.instance.evento}" required="true">
                <s:selectItems value="#{eventoService.obterTodos()}" var="evento" label="#{messages[evento.nome]}"  noSelectionLabel="#{messages['br.com.message.NoSelection']}" />
                <s:convertEntity  />
                <a4j:support event="onchange"  action="#{home.setarFormulario}" reRender="camposFormulario" ajaxSingle="true"  />
            </h:selectOneMenu>
        </s:decorate>

noSelectionLabel を選択した場合でも、どうすればメソッドに入ることができますか? 次に、私のhome.instance.eventoはnullでなければなりません..またはこのようなものです...

4

2 に答える 2

2

フィールドh:selectOneMenuが必須の場合、noSelectionLabel値を選択すると検証エラーが発生し、検証エラーが発生した場合、 はaction="#{home.setarFormulario}"呼び出されません。

回避策として、属性をtrueに設定すると、値が選択されたときに noSelectionLabel が非表示になりますhideNoSelectionLabels:selectItems

于 2011-10-01T18:21:05.687 に答える
-1
<h:message for="id of the selectonemenu component " ></h:message>

また

タグrequired =trueから を削除しますselectonemenu

于 2013-02-01T05:08:08.873 に答える