如何在JSF中编写自己的Converter

时间:2014-04-12 14:18:47

标签: java jsf

我有一个关于JSF的问题。如果我想在JSF中编写自己的转换器,则必须使用两种抽象方法实现接口转换器

getAsObject(FacesContext context, UIComponent component, String value) 

public String getAsString(FacesContext context, UIComponent component, Object value)

我不清楚哪些方法会自动调用哪个JSF lifecyclephase?

是不是,方法" getAsObject"将被调用,请求到达网络服务器和方法" getAsString"如果响应从Web服务器到达客户端,将被调用?

格尔茨 Marwief

2 个答案:

答案 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();
}