use*_*962 2 jsf whitespace trim
在我的JSF 2.2应用程序中,当我创建JSF表单时,问题是我可以<h:inputText>
在我从表单中插入空格时添加空格,它将使用我插入其中的值返回这些空格.所以我应该处理每个值mystring.tirm()
以使空格无效.我可以使用任何其他东西来返回没有空格的值吗?我知道转换器和JavaScript,所以你能给我另一个选择吗?我不想使用任何转换器和JavaScript.
Bal*_*usC 19
我不想使用任何转换器和JavaScript
这里没有魔力.你必须编写代码来完成这项工作.我认为您更关心的是,您不希望在每个输入字段上重复相同的转换作业.
在这种情况下,只需String.class
通过以下forClass
属性注册转换器@FacesConverter
.
@FacesConverter(forClass=String.class)
public class TrimConverter implements Converter {
@Override
public Object getAsObject(FacesContext context, UIComponent component, String submittedValue) {
String trimmed = (submittedValue != null) ? submittedValue.trim() : null;
return (trimmed == null || trimmed.isEmpty()) ? null : trimmed;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object modelValue) {
return (modelValue != null) ? modelValue.toString() : "";
}
}
Run Code Online (Sandbox Code Playgroud)
这样,您无需在每个输入字段中声明转换器.它将透明地应用于String
尚未注册显式转换器的每个模型值.
建议不要使用JavaScript方式,因为它完全在客户端运行,并且最终用户可以轻松地禁用和操作JavaScript.JSF转换器在服务器端运行,其结果不能由最终用户操纵.
归档时间: |
|
查看次数: |
4493 次 |
最近记录: |