You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Struts2 Checkboxlist如何将选项值指定内容显示为粗体?

解决Struts2 checkboxlist渲染HTML标签的问题

其实Struts2的checkboxlist标签本身没有直接对应s:property的escape属性,但我们有两种可靠的方式实现你要的粗体文本效果:

方法1:手动遍历构建复选框(灵活可控)

如果需要更精细的控制,直接用s:iterator遍历你的属性列表,手动渲染每个复选框和文本,这时候就能用s:property的escape="false"来解析HTML标签:

<s:iterator value="yourAttributeList" var="item">
    <input type="checkbox" name="selectedOptions" value="<s:property value='code'/>" />
    <!-- 这里的value是带<b>标签的文本,escape="false"让HTML生效 -->
    <s:property value="displayText" escape="false" />
    <br>
</s:iterator>

假设你的列表项是包含code(提交值)和displayText(比如<b>A</b> : for Apple)的对象。

方法2:利用checkboxlist的escapeHtml属性(更简洁)

Struts2的UI标签大多支持escapeHtml属性,checkboxlist也不例外。直接给标签加上这个属性并设为false,就能让列表值里的HTML标签被正确渲染:

<s:checkboxlist 
    name="selectedOptions" 
    list="yourAttributeList" 
    listKey="code" 
    listValue="displayText" 
    escapeHtml="false"
/>

这样你的displayText里的<b>A</b> : for Apple就会把A显示为粗体,而不是输出源码。

⚠️ 重要提醒:
如果你的列表内容来自用户输入,一定要做XSS过滤!关闭HTML转义后,恶意的HTML/JS代码可能会被执行,带来安全风险。

内容的提问来源于stack exchange,提问作者swetha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:25:59