当前位置: 首页 > 知识库问答 >
问题:

JSF:无法设置null值在h: inputText在ui:重复

空鸿云
2023-03-14

Mojarra 2.1.6/玻璃鱼3.1.2

我有类似的东西

<ui:repeat var="item" value="#{bean.items}">
  <h:inputText value="#{item.longProperty}"/>
</ui:repeat>

其中,项目是具有Long属性的对象

public class Item { 
  private Long longProperty; // + getters/setters
}

只要我将LongProperty设置为非空/非空,它就可以正常工作。
当我这样做时,空输入被忽略,旧值被恢复。

日期的结果类似。

如果我从ui:repeat中删除对var/status的引用,这没有什么区别。即使显式引用#{bean.items[0].longProperty}也会以同样的方式失败。

同样的h:inputText在ui:repeat和null/empty值之外也可以正常工作。

此外,在ui:repeat中,如果属性是字符串而不是需要转换的对象,则空字符串可以正常工作。

更奇怪的是:如果我在输入上放置valueChangeEvent,我会看到事件。getNewValue()在我期望的时候返回null-但是我的setter被旧值调用

知道发生了什么吗?

共有3个答案

徐瀚
2023-03-14

更改<代码>

<a4j:repeat var="item" value="#{bean.items}">
  <h:inputText value="#{item.longProperty}"/>
</a4j:repeat>

更多信息:RichFacesA4J:重复。

有关

卢鸿彩
2023-03-14

现复制于此(罗杰·基坦):

http://java.net/jira/browse/JAVASERVERFACES-2717

洪弘壮
2023-03-14

结果表明,这是一个带有ui:repeat的Mojarra/JSF实现错误

http://java.net/jira/browse/JAVASERVERFACES-1721

 类似资料:
  • 问题内容: 我想在bean中动态创建控件。我正在使用JSF 2.0 现在我应该设置哪个属性来设置内容? 问题答案: 该代表变量,而不是一个组成部分。宁可使用。然后,您可以像在JSF页面中的真实组件中那样完全设置属性。如果您需要将其作为原始文件而不是原始文件,则需要使用进行创建。这是一个启动示例: 这里的便捷方法如下所示: 将其隐藏在某个实用程序类中很远,这样就不必一次又一次地重复所有代码;)参数显

  • 手动选择selectOneMenu id=“format”的值时,输入的输入值重置 selectOneMenu id=“format”的渲染效果很好。但在选择selectOneMenu id=“format”的下拉值时,输入的字段输入值为空。 页 电流输出 预期产出 我已经尝试添加 我有下面的代码 主要的xhtml 员工贷款。xhtml javaMB getters setters实体getter

  • 问题内容: 我希望将值设置为如果我提交的表单中的文本框未放入任何内容。我怎样才能做到这一点?我尝试插入,但这只是将单词添加到字段中。 我不确定应该为此提供什么代码,我只是在编写UPDATE查询。 问题答案: 不要在更新语句中加引号。这应该工作:

  • 我有以下xhtml、验证器和managedBean: 电子邮件添加工作罚款,直到第一次验证失败。当发生这种情况时,所有inputText组件显示相同的值。例如,首先我添加“user1@gmail.com”,这可以。然后我加上“user2@gmail.com”,这个也行。然后我把“user1@gmail.com”改成“”,这会抛出一个验证异常,它会显示在屏幕上,一切仍然可以。但是后来我用“user3

  • 问题内容: 我正在运行一个非常简单的查询,但是对于某些结果,一个字段中的值为空。如果该值为null,如何将其设置为“字符串”? 就像是 它将在sql server 2005上运行 谢谢 问题答案: 使用以下内容: 或@Lieven指出: COALESCE的动态之处在于您可以定义更多的参数,因此,如果第一个为null,则获取第二个参数,如果第二个为null,则获取第三个,依此类推…

  • 有一个错误,其中登录的用户将尝试更新他们的帐户用户名,但遇到一个错误。在我的一生中,我无法弄清楚为什么有时(可能有1/20的用户遇到这种情况)找不到当前的用户。只有登录后,用户才能访问此页面。错误有: 投掷;//未处理的“错误”事件 TypeError:无法设置null的属性“username” 错误似乎发生在这里:user.username=req.body.username;