1

の次の使用法がありますp:selectOneMenu

<p:selectOneMenu id="selectField"
    value="#{someBean.someField}"
    converter="#{selectItemConverter}" var="x" editable="true">
    <f:selectItems
        value="#{selectItemsBean.getSelectItems(tab, field)}" var="si"
        itemLabel="#{si.label}" itemValue="#{si}" />
    <p:column>
        <h:outputText value="#{si.label}" />
    </p:column>
    <p:column>
        <h:graphicImage library="images" name="noway_16x16.png"
            title="#{si.disabledReason}" rendered="#{si.disabled}" />
    </p:column>
    <p:ajax event="change" update="@form" partialSubmit="true" process="selectField" />
</p:selectOneMenu>

ご覧のとおり、カスタム コンテンツを と組み合わせて使用​​していeditable=trueます。フォームを送信すると、コンバーターは選択した項目のラベルを実際の値ではなく値として取得します。HTML ページでは、値は正しいです (例: <option value="C">C-style mounting</option>. でeditable=false、正しい値 (たとえばC、コンバーターに送信され、editable=trueコンバーターで取得されますC-style mounting

私が欲しいのは、ユーザーがリスト内の事前定義されたアイテムの1つを選択して、サーバーがそのアイテムの値を送信する、ユーザーが何かを入力して値として送信できることです。しかし、現在の動作は少し奇妙です。

4

0 に答える 0