-1

请问如何在转换器中通过此方法返回性别。

我有一个性别实体:

@Entity
public class Gender implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String gender;

还有一个使用 selectItem 来检索所有性别的 managedBean

public List<SelectItem> getGenderNoList() {
    List<Gender> genderList;
    Gender gender;
    List<SelectItem> selectedGender = new ArrayList<SelectItem>();
    genderList = appSessionBean.getAllGender();
    for(Gender g : genderList) {
        SelectItem s = new SelectItem(g.getGender());
        selectedGender.add(s);
    }
    return selectedGender;
}

和一个转换器

public Object getAsObject(FacesContext context, UIComponent component, String value) {


}
4

1 回答 1

0

一种方法可能是将 Gender object : id 和 gender 放在 SelectItem 的值中

 SelectItem s = new SelectItem(g.getGender()+"UniqeSeperator"+g.getId(),g.getGender());

然后在getAsObject(做这样的事情

...
String[] tmpArr = value.split("UniqeSeperator");
return new Gender(Long.valueOf(tmpArr[0]),tmpArr[1]);

像这样的东西......

于 2012-08-13T13:12:04.187 回答