-1

getAsObjectConverter クラスのメソッドについて質問があります

というサービスがありますEmployeeService employeeService

public List<Employees> getEmployees(Employees employees);

引数として Converter クラスの getAsObject から上記のメソッドを呼び出したい場合

public Object getAsObject(FacesContext facesContext, UIComponent component,
            String value)
    employeeService.getEmployees(<?>)

からメソッドにemployeesオブジェクトを渡すにはどうすればよいですか?getEmployeesgetAsObject

どんな助けでも大歓迎です。

更新 1

@Entity
public class Employees implements Serializable {

private String employeeNumber;
private String employeeName;
4

1 に答える 1

3

String次のコンバーターを使用して、数値 (コードによれば ) をEmployeeオブジェクトに単純に変換します。

@Named("employeeConverter")
public class EmployeeConverter implements Converter {

    @Inject
    private EmployeeService employeeService;

    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        if(value == null || value.equals("")) {
            return null;
        }
        Employee employee = employeeService.getEmployeeByNumber(value);//or if it is not a String, replace value with Integer.parseInt(value)
        if(employee == null) {
            throw new ConverterException(new FacesMessage("Employee with number: " + value + " not found."));
        }
        return employee;
    }

    public String getAsString(FacesContext context, UIComponent component, Object value) {
        if (!(value instanceof Employee) || (value == null)) {
            return null;
        }
        return ((Employee)value).getEmployeeNumber();
    }

}

によってビューで使用しますconverter="#{employeeConverter}"

于 2013-02-22T10:27:05.953 に答える