如何在JSF中编写自己的Converter



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

getAsObject(FacesContext context, UIComponent component, String value) 

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

我还不清楚,在哪个JSF生命周期阶段,哪些方法会被自动调用?

如果响应从Web服务器到客户端,那么将调用方法"getAsObject"(请求将其发送到Web服务器),并调用方法"getAsString"(getAsString),这对吗?

格里茨Marwief

Yes getAsObject用于在请求到来时将输入字符串转换为您选择的对象类型。然后,当呈现响应并发送时,getAsString用于将对象转换为字符串以进行表示。

我希望我的问题答对了。

客户端发送请求(文本形式的数据,例如金额=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();
}

相关内容

  • 没有找到相关文章

最新更新