我在jsp中有以下嵌套的struts 2标签。这是在另一个迭代器中,而迭代器又在html表的td标记内。
<s:property value="#rule.value" />
<s:set var="blanks" value="''" />
<s:iterator value="(#rule.key.length()).{ #this }">
<s:set var="blanks" value="%{#blanks + ' '}" />
</s:iterator>
<s:property value="#blanks" />
总体目标是渲染您在浏览器中的同一行上看到的所有s:属性值。对于某些标签(如文本字段),您可以更改主题属性,但不会尝试在自己的行上打印所有内容。但无论如何,我需要迭代器标记内同一行的所有内容。
所以我在这里要做的就是建立一个字符串。每次迭代此代码段时,此类字符串的长度都会更改。当我运行它时,迭代器执行正确的次数,但我的输出是
.....循环被迭代多次。我需要每个html空间输出。最终,我需要td中有一定数量的字符,以便这个表和一个单独的表同步到屏幕格式。
答案 0 :(得分:3)
您忘记了escapeHtml
。
<s:property value="#blanks" escapeHtml="false" />
或只是
${blanks}
<小时/>
escapeHtml
/ escape
(已弃用):默认为true
答案 1 :(得分:2)
我对JSP标签了解不多,但我偶尔遇到它们......你见过escapeXml="false"
吗? (用于c:out标签)
答案 2 :(得分:0)
只需使用
代替 
即可轻松格式化并在struts框架中随处提供空格,并避免太多复杂性。