簡體   English   中英

struts 邏輯標簽渲染 html 格式,JSTL 標簽沒有

[英]struts logic tags rendering html format, JSTL tags do not

我正在從數據庫中讀取一些消息並將其扔到一個 jsp 頁面。 當使用 struts 邏輯標簽呈現來自數據庫的消息時,數據庫中的消息允許 HTML 格式,這意味着如果在數據庫消息中使用了諸如<table width="99%">的 html 標簽,那么它將正確呈現此 html使用 struts 邏輯標記時...但是,如果使用 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%"> )?

JSTL <c:out>標簽默認在 value 屬性中轉義 XML。 因此它可以防止從表達式變量中渲染出一些不需要的代碼 XSS。 在大多數情況下,您不應該<c:out>想要呈現的 html 內容。 但是有一個開關,您可以自行承擔風險。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM