網頁

2017/8/15

JSTL , fn:escapeXml();

JSTL core tag的<c:out>fn:escapeXml()用來處理XML或HTML中被視為標記(markup)的字元,會轉成一般字串處理。

也就是說,從後端輸出的字串中帶有特殊字元,例如斜線(slash)/,反斜線(back-slash)\,角括弧<>等等,若要以字串呈現而非HTML的效果,或避免不必要的影響,就使用<c:out>來處理比較好。

<c:out>的escapeXml屬性預設為true,其功能就同fn:escapeXml(),若改為false則為關閉,例如

<c:out value="${employee.name}" escapeXml="false" default="NA"/ >

<c:out>的屬性(attribute)除了espaceXml外,還有value及default。

value是必填的屬性,可輸出request中的attribute,可以是個單一變數,或是一個bean。

<c:out>功能類似JSP scriptlet的<%= ... %>,差異是<c:out>除了上面的escapeXml功能外,還可直接用 . 來存取Java Bean的成員,例如上面範例的 value=${employee.name}

default是option的屬性,value輸出為null時,會以default的值取代。

參考

沒有留言:

張貼留言