Struts2 标签中的 HTML 标签

阿丽亚娜

我在 Struts2 标签中将文本自动编码为 UTF-8 时遇到了一些问题。

我想将包含 HTML 标记的值从动作类传递到 JSP 页面,但在 struts 标记中,此值会自动编码为 UTF-8,并且 HTML 标记未正确显示。

例如:我有一个param在动作类中命名的字符串变量

String param=param[0] + "& <br>" + param[1];

这个参数在 JSP 页面中传递并使用 Struts 标签显示在页面中:

<s:property value="%{param}">

我的问题是,在 jsp 页面中,<br>标签是自动编码的,并且像测试"& <br>"一样显示,而不是像 HTML 标签一样使用它并显示,"&"然后输入换行符。

有谁知道我如何跳过这个自动编码过程?

莱昂布洛伊

您是否尝试过(记录在案的)属性escapeHtml

<s:property value="%{param}" escapeHtml="false" />

PS:补充两点:

  1. 您正在使用字符&,它在 HTML 中很特殊。如果你不打算转义字符串,你应该把它写成&amp;

  2. 正如 Rowan C 在他的回答中恰当地指出的那样,在网页中使用未转义的 html 可能很危险,特别是如果字符串(在您的情况下是param数组)是动态的并且可以由客户端设置。如果你不能信任或正确消毒它,那就不要那样做。严重地。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章