私はこのSelectOneMenuを持っています:
<h:selectOneMenu value="#{orderController.requestVO.requestSituation}">
<f:converter converterId="ComboConverter"/>
<f:selectItems value="#{orderController.requestSituation}" var="requestSituation"
itemLabel="#{requestSituation.description}" itemValue="#{requestSituation}" />
</h:selectOneMenu>
これrequestSituation
は正しく入力さArrayList
れRequestSituationVO
ており、次の HTML が生成されます。
<select name="j_idt14:j_idt20" size="1">
<option value="13">Pedido Recusado</option>
<option value="11">Pedido Validado</option>
<option value="12" selected="selected">Pedido Confirmado</option>
<option value="12" selected="selected">Pedido Faturado</option>
</select>
私はこれを持っていConverter
ますが、ここで私は混乱しています。私はたくさん読んだことがあります。
ここにあります:
@FacesConverter(value = "ComboConverter", forClass = RequestSituationVO.class)
public class ComboConverter implements Converter
{
private static RequestSituationVO requestSituationVO = new RequestSituationVO();
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value)
{
requestSituationVO.setId(Integer.valueOf(value));
requestSituationVO = (RequestSituationVO) new RequestSituationBO().getRequestSituation(requestSituationVO).toArray()[0];
return (RequestSituationVO) requestSituationVO;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value)
{
requestSituationVO = (RequestSituationVO) value;
String teste = String.valueOf(requestSituationVO.getId());
return teste;
}
}
ページを送信すると、メソッドSelectOneMenu
の値が from に自動的に設定されると思います。しかし、送信すると、私の.requestSituation
requestVO
Value not valid
SelectOneMenu
必要なのは、選択した値を my に設定しRequestSituationVO
て、ビジネス メソッドに送信できるようにすることです。