[英]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.