在rich:inplaceSelect中使用布尔型的0selectItem时碰到的问题计算机等级考试

文章作者 100test 发表时间 2009:07:12 21:03:42
来源 100Test.Com百考试题网


  编辑特别推荐:

  全国计算机等级考试(等考)指定教材

  全国计算机等级考试学习视频

  全国计算机等级考试网上辅导招生

  全国计算机等级考试时间及科目预告

  百考试题教育全国计算机等级考试在线测试平台

  全国计算机等级考试资料下载

  我们都知道,在<.h:0selectOneMenu>.中使用布尔型0selectItem时,itemValue为"true"/"false".例如:
  <.h:0selectOneMenu value="#{controller.booleanPropertyX}">.
  <.f:0selectItem itemLabel="#{messages[xxxxx]}" itemValue="true"/>.
  <.f:0selectItem itemLabel="#{messages[xxxxx]}" itemValue="false"/>.
  <./h:0selectOneMenu>.
  这样是没有问题的。
  但是如果你使用<.rich:inplaceSelect>.来实现选择功能的时候,"true"/"false"就不起作用了,例如:
  <.rich:inplaceSelect minSelectWidth="80" editClass="inlineSelectEdit"
  defaultLabel="-Select-" immediate="true"
  value="#{controller.booleanPropertyX}">.
  <.f:0selectItem itemLabel="#{messages[xxxxx]}" itemValue="true"/>.
  <.f:0selectItem itemLabel="#{messages[xxxxx]}" itemValue="false"/>.
  <./rich:inplaceSelect>.
  这时候即使sfsb中的值booleanPropertyX是"true"/"false",也不会有0selectItem被选中,而且如果你选择一个 0selectItem,还会报错:IllegalArgumentException.说明0selectItem的itemValue跟# {controller.booleanPropertyX}的值是不匹配的。
  后来我将"true"/"false"改为"0"/"1", 还是不起作用。
  Finally,终于试出了正确的方法:使用"#{true}"/"#{false}". 正确的使用方法:
  <.rich:inplaceSelect minSelectWidth="80" editClass="inlineSelectEdit"
  defaultLabel="-Select-" immediate="true"
  value="#{controller.booleanPropertyX}">.
  <.f:0selectItem itemLabel="#{messages[xxxxx]}" itemValue="#{true}"/>.
  <.f:0selectItem itemLabel="#{messages[xxxxx]}" itemValue="#{false}"/>.
  <./rich:inplaceSelect>.
  也就是说:
  (1)。如果你使用<.h:0selectOneMenu>.,那么你的f:0selectItem的itemValue应该使用:"true"/"false"
  (2)。如果你使用<.rich:inplaceSelect>.,那么你的f:0selectItem的itemValue应该使用:"#{true}"/"#{false}"

相关文章


JAVA的三个移位运算符计算机等级考试
Java操作符的优先级和结合性计算机等级考试
J2ME游戏APIのGameCanvas游戏画布计算机等级考试
EffectiveJava核心实战编程思想计算机等级考试
在rich:inplaceSelect中使用布尔型的0selectItem时碰到的问题计算机等级考试
Finereport制作详细过程计算机等级考试
利用数字签名超越JavaApplet的安全限制计算机等级考试
JavaME无线消息API计算机等级考试
J2ME中的基础碰撞检测算法计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛