コンバーターがあり、すべてのオプションの値を変更しています:
私が最初に作成したとき、selectOneMenu
私はこれを持っていますhtml
:
<select name="j_idt14:j_idt20" size="1">
<option value="2" selected="selected">Infantil</option> //value="2"
<option value="6">Lançamento Inverno</option>
<option value="5">Lançamento Verão 2</option>
<option value="4">Lançamento Preview 1</option>
<option value="3">Feminina</option>
<option value="7">Masculina</option>//value="7"
</select>
フォームを送信すると、コンバーターが呼び出されてオブジェクトに変換されます。値 (id) が混乱しid
、最初と最後の結果でほとんど同じことが繰り返されます。
<select name="j_idt14:j_idt20" size="1">
<option value="2" selected="selected">Infantil</option>//value="2"
<option value="6">Lançamento Inverno</option>
<option value="5">Lançamento Verão 2</option>
<option value="4">Lançamento Preview 1</option>
<option value="3">Feminina</option>
<option value="2">Masculina</option>//value="2" ?
</select>
これが私のconverter
@FacesConverter(value = "SubGroup")
public class SubGroup implements Converter
{
private static ProductSubgroupVO productSubgroupVO = new ProductSubgroupVO();
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value)
{
productSubgroupVO.setId(Integer.valueOf(value));
productSubgroupVO = (ProductSubgroupVO) new ProductSubgroupBO().getProductSubgroup(productSubgroupVO).toArray()[0];
return (ProductSubgroupVO) productSubgroupVO;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value)
{
productSubgroupVO = (ProductSubgroupVO) value;
String teste = String.valueOf(productSubgroupVO.getId());
return teste;
}
}
私は何かに気づきましたが、それが a の正しい動作であるかどうかはわかりません。が呼び出されるconverter
たびgetAsObject
に、最後に再度呼び出さgetAsString
れます。