2 つの selectonemenu 要素があります。1 つはリクエストのステータスを含み、もう 1 つはそのステータスの説明を含みます。
次のように実装しようとしています:
status と description の 2 つのフィールドを持つ status というクラスがあります。
selectonemenu は次のようになります。
<h:outputText id="requestStatusH" value="Status : " />
<h:selectOneMenu id="statusDD" value="#{exApp.status}">
<f:selectItems value="#{exApp.statusList}" />
</h:selectOneMenu>
そして私のexApp Beanは次のようになります:
private RequestStatus status;
private List<RequestStatus> statusList;
//Getters + Setters
1 つの selectonemenu でステータスを選択すると、対応する説明が別の無効な selectonemenu に表示されるようにします。
問題は、選択した値をバッキング Bean 変数に入れることさえできないことです。ページを送信した後、何も起こりません。
stackoverflow selectonemenu ガイドを調べてみましたが、コンバーターについては何も見つかりませんでした。
どんな助けでも大歓迎です。
編集 :
私の RequestStatus コード:
public class RequestStatus implements Serializable {
public RequestStatus(String status, String description) {
this.status = status;
Description = description;
}
private String status;
private String Description;
//Getters + Setters
私のフォーム:
<h:form>
<p:commandLink id="saveChanges" value="Save Changes" actionListener=
"#{exApp.saveRespond()}"> </p:commandLink>
<h:outputText id="requestStatusH" value="Status : " />
<h:selectOneMenu id="statusDD" value="#{exApp.status}">
<f:selectItems value="#{exApp.statusList}" />
</h:selectOneMenu>
</h:form>
RequestStatus クラスはバッキング Bean ではなく、RequestScope exApp バッキング Bean のフィールドとして使用される POJO です。私のページはフォームを使用しています。フォームを送信しても何も起こりません。