我有一个关于JSF的问题。如果我想在JSF中编写自己的转换器,则必须使用两种抽象方法实现接口转换器
getAsObject(FacesContext context, UIComponent component, String value)
和
public String getAsString(FacesContext context, UIComponent component, Object value)
我不清楚哪些方法会自动调用哪个JSF lifecyclephase?
是不是,方法" getAsObject"将被调用,请求到达网络服务器和方法" getAsString"如果响应从Web服务器到达客户端,将被调用?
格尔茨 Marwief
答案 0 :(得分:1)
是的getAsObject用于在请求进入时将输入字符串转换为您选择的对象类型。然后,当呈现响应并发送时,使用getAsString将对象转换为字符串以进行呈现。
答案 1 :(得分:0)
我希望我的问题正确。
客户端发送请求(文本形式的数据,例如金额= 15)。你需要转换 字符串到数字:
Object getAsObject(FacesContext context, UIComponent component, String value) {
return Integer.valueOf(value);
}
然后它可以验证值(范围检查或其他任何定义)并将其应用于正确的bean对象。 当代码以某种方式更改此值时,您希望将对象表示为客户端的字符串:
public String getAsString(FacesContext context, UIComponent component, Object value) {
return value.toString();
}