【发布时间】:2011-09-15 11:00:50
【问题描述】:
我有一个包含字段creditCard 的支持bean,它可以有两个字符串值y 或n 从数据库填充。我想在复选框中显示它,以便 y 和 n 转换为 boolean。
我该如何实现它?我不能使用自定义转换器,因为getAsString() 在呈现响应时返回String,而我需要boolean。
【问题讨论】:
-
为什么不能将 Backing Bean 实例变量 (creditCard) 更改为布尔值 - 最好不要表示 Java 有一个 Object 可以用字符串表示的类型。
-
要求类型为“y”或“n”,因为在旧版数据库中为“y”或“n”
-
是的,但是 Java 是数据库之上的一个层——它是面向对象的。通过作为字符串离开,您没有有效地使用对象。因此,在 Java 对象中,它可以是布尔值,然后在您的 SQL 交互中将其转换为“y”或“n”。因此,在读取 convert char to Boolean 和将 convert Boolean to char 写入时。
-
planetjones,这正是我向客户建议的,但客户希望 bean 仅具有 'y' 或 'n'
-
哦,好吧@Tarun - 听起来你在那里不走运。谢天谢地,我从来没有要求指定对象应该是什么数据类型;)在这种情况下,@BalusC 更改访问器以转换为布尔值听起来很明智。
标签: jsf converter selectbooleancheckbox