1

我在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 + '&nbsp;'}" />
</s:iterator>
<s:property value="#blanks" />

总体目标是呈现您在浏览器的同一行中看到的所有 s:property 值。对于某些标签(如文本字段),您可以更改主题属性,它不会尝试在自己的行上打印所有内容。但无论如何,我需要迭代器标记中同一行的所有内容。

所以我在这里要做的是建立一个 nbsp 字符串。每次迭代此代码片段时,此类字符串的长度都会发生变化。当我运行它时,迭代器执行正确的次数,但我的输出是&nbsp;&nbsp;&nbsp;......与循环迭代的次数一样多。不过,我需要为每个 nbsp 提供一个 html 空间输出。最终,我需要 td 在其中包含一定数量的字符,以便该表和单独的表在屏幕格式方面同步。

4

3 回答 3

3

你忘了escapeHtml

<s:property value="#blanks" escapeHtml="false" />  

要不就

${blanks}


escapeHtml/ escape(已弃用)默认为true


于 2011-06-10T03:37:15.083 回答
2

我对 JSP 标签了解不多,但我时不时会遇到它们……你见过escapeXml="false"吗?(在 c:out 标签中使用)

于 2011-06-09T16:29:11.277 回答
0

只需在 struts 框架中使用&nbsp; 而不是&nbsp轻松格式化并在任何您想要的地方提供空间,并避免过多的复杂性。

于 2016-07-11T07:19:50.653 回答