【问题标题】:Set checkbox "checked" using jstl使用 jstl 设置复选框“选中”
【发布时间】:2014-06-18 22:10:51
【问题描述】:

以下是jstl的sn-p设置和显示一系列复选框:

<c:forEach var="item" items="${sessionAnswerObjects}">
    <c:set var="item1" value="${fn:split(item, vertBar)}"/>
    <input type="checkbox" id="eList" name="sessionSubEntityAnswer" value="${item1[0]}${vertBar}${item1[1]}${vertBar}${item1[2]}${vertBar}${item1[3]}${vertBar}${item1[4]}${vertBar}${item1[5]}" ${item1[4]=='I hate the food'?'checked':''}/> 
    <c:out value="${item1[4]}"></c:out>
    <br>
 </c:forEach>

“c:out”语句显示特定变量,但复选框并未像输入语句中给出的那样“选中”。

jsp的输出部分是:

    How do you like the food?
        [] I Like the food
        [] I don't like the food
        [] I really, really don't like the food
        [] I hate the food

非常感谢您对上面给出的 jstl 的任何帮助。

谢谢,罗伊 W。

【问题讨论】:

  • 你在checkbox输入的value属性中做什么?
  • hi Braj:首先,感谢您的及时回复。在输入类型语句中,我需要将分隔字符串传递给 Java bean。但是,似乎当数组与输入类型语句中出现的特定数组一起使用时,未设置“checked”属性。如果可能,您能否测试按值传递分隔字符串并将字符串的特定出现设置为“已检查”。

标签: jsp checkbox foreach jstl


【解决方案1】:

我对上面的代码序列进行了无数次的测试迭代,但是尤里卡,我终于确定了“选中”复选框错误的原因。在上面的初始代码段中,变量“vertBar”是 unicode 字符“\u00A6”,后跟一个空格或“\u00A6”。这个字符“\u00A6”被定义为一个断开的竖线,而不是变量vertBar(竖线)所暗示的那样。

问题在于分隔符后的空格。如果在定义为特殊 unicode 字符的分隔字符串之后存在空格,则拆分函数无法为复选框设置“已选中”。一旦我删除了 unicode 分隔符后的空格,split 函数就起作用了。

我希望这对某人有所帮助。

罗伊·W.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-30
    相关资源
    最近更新 更多