【问题标题】:JSF inputtext + ConverterJSF inputtext + 转换器
【发布时间】:2012-07-13 17:05:59
【问题描述】:

首先,我展示我的代码:

XHTML 页面:

<h:body>
    <h:form id="ffffffffff">
        <p:inputText value="#{prueba.dato}" >
            <p:ajax event="keyup" process="@this" />
        </p:inputText>
    </h:form>
</h:body>

豆:

@ManagedBean
@ViewScoped
public class Prueba implements Serializable {

    private String dato = "ASSSS";

    public String getDato() {
       return dato;
    }

    public void setDato(String dato) {
        this.dato = dato;

        System.out.println("DAAAAAA: " + dato);
    }

    public void listener() {
        System.out.println("LISTENEEEEEEEEEEEEEEEEEEEEEEEEEE");
    }
}

转换器

@FacesConverter
public class SnaCarreraConverter extends SelectItemsConverter {
    //CODE
}

我的问题,setDato 总是得到一个 null 值。但是当我将转换器修改为这样时:

@FacesConverter(forClass=SnaCarrera.class)

添加 forClass 解决了我的问题,我不知道为什么会这样。 inputText 是否试图在不添加转换器属性的情况下查找转换器?

【问题讨论】:

    标签: jsf converter


    【解决方案1】:

    首先,SelectItemsConverter 代表&lt;f:selectItems&gt;&lt;p:inputText&gt; 不是 &lt;f:selectItems&gt;。所以SelectItemsConverter&lt;p:inputText&gt; 没用。另请参阅其文档和展示。

    其次,给Converter 实现一个ID 或“for-class”以便使用它是正常的。否则,您不能在&lt;x:inputSomething converter&gt; 属性或&lt;f:converter&gt; 标记中引用它,或者您不能将它与某个类自动关联。此要求与SelectItemsConverter 完全无关。它只是标准 JSF 规范所要求的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-25
      • 2011-06-15
      • 2012-12-26
      • 1970-01-01
      • 2013-09-12
      • 2011-06-29
      • 1970-01-01
      • 2011-11-29
      相关资源
      最近更新 更多