栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

h:inputText绑定到String属性正在提交空字符串而不是null

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

h:inputText绑定到String属性正在提交空字符串而不是null

您可以配置JSF 2.x的解释由以下空提交的数据为空

context-param
web.xml
(其中有一个很长的名字,这也将是为什么我不记得它;)):

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

作为参考和感兴趣的人,在JSF 1.2(因此不是1.1或更旧的版本,因为在设计上不可能有

Converter
for
java.lang.String
),可以通过以下方法解决
Converter

public class EmptyTonullStringConverter implements Converter {    public Object getAsObject(FacesContext facesContext, UIComponent component, String submittedValue) {        if (submittedValue == null || submittedValue.isEmpty()) { if (component instanceof EditablevalueHolder) {     ((EditablevalueHolder) component).setSubmittedValue(null); } return null;        }        return submittedValue;    }    public String getAsString(FacesContext facesContext, UIComponent component, Object modelValue) {        return (modelValue == null) ? "" : modelValue.toString();    }}

…需要在

faces-config.xml
以下位置进行注册:

<converter>    <converter-for-class>java.lang.String</converter-for-class>    <converter-class>com.example.EmptyToNullStringConverter</converter-class></converter>

如果您尚未使用Java 6,请替换

submittedValue.empty()
submittedValue.length() == 0

也可以看看

  • balusc.omnifaces


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/403388.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号