1

对于在 JSF bean 验证中转换字符串值,将使用哪个转换器?就像我们使用的数值和我们使用<f:convertNumber>的日期一样<f:convertDataTime>。我的代码片段如下: JSF 页面:

<h:inputText id="Name" label="Name" value="#{employee.eName}"/>
<h:message for="Name" styleClass="errorMessages"/> 

豆类:

public class Employee implements Serializable{
    @NotNull @Size(min = 3, max = 30)
    String eName;
}
4

1 回答 1

3

String没有默认转换器。请求参数String已经存在。

如果您打算在 上挂钩自定义转换器String,请使用

@FacesConverter(forClass=String.class)
public class StringConverter implements Converter {

    // ...

}

我见过的唯一用例是将它们设置为null而不是空字符串,但这也可以通过在web.xml.

<context-param>
    <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
    <param-value>true</param-value>
</context-param>

这样,@NotNull当您提交空字符串时,将触发注释。否则,您必须改用 Hibernate-specific @NotBlank

也可以看看

于 2011-05-06T12:12:33.523 回答