java - struts逻辑标签呈现html格式,JSTL标签不

标签 java html jsp struts2 jstl

我正在从数据库中读取一些消息并将其发送到 jsp 页面。当使用 struts 逻辑标签呈现来自数据库的消息时,数据库中的消息允许 HTML 格式,这意味着如果一个 html 标签如 <table width="99%">在数据库消息中使用然后它将在使用 struts 逻辑标记时正确呈现此 html...但是如果 JSTL 用于呈现对象(数据库消息)则 html 格式不会正确呈现。

struts 逻辑标签的一个例子是:

<div class="textTitle"><bean:write name="blahBlah" filter="false" property="displayObjects[1].fieldName"/></div>

JSTL 标签的一个例子是:

<td width="30%" class="formOpt"><c:out value="${pubParam.fieldName}"/>:</td>

注意我使用c:out对于 JSTL 和 bean:write对于 struts 标签..

有谁知道为什么在 JSTL 中 html 格式没有被呈现但仍按原样扔到页面(意味着包括数据库消息中的 <table width="99%">)?

最佳答案

江苏实验室<c:out>默认情况下,标签在 value 属性中转义 XML。因此,它可以防止从表达式变量中呈现一些不需要的 XSS 代码。在大多数情况下,你不应该 <c:out>您要呈现的 html 内容。但是您可以使用一个开关,风险自负。

<c:out value="${pubParam.fieldName}" escapeXml="false"/>

关于java - struts逻辑标签呈现html格式,JSTL标签不,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25411157/

相关文章:

java - 使用 PC 远程读取 JSP 页面上的文件时出错

java - 在包含 return 的 try/catch block 之后执行语句

html - 为什么 height 和 top 属性在 position 是相对的时候不起作用?

Java插件扩展点

javascript - 修改元素的传统方法是什么,而屏幕阅读器(例如 :Jaws, VoiceOver)可以 'read it' ?

ios - "Unable to download App... could not be installed at this time"- adobe Phonegap 构建 ios

java - 如何访问javascript中的内部类字段

java - JSTL 打印 arrayList 元素

java - Weblogic 抛出 CompilationException

java - 将 EJB 3 session Bean 引用存储到映射中