CF2016からcfoutputタグについて
新たに属性encodeforが追加されたようです。
これを使用することでcfoutputタグに囲まれている格式に対して
以前紹介したencodeFor関数を適応できます。
これでencodeFor関数を書かなくて済むみたいです。
属性encodeforに対して有効な設定値は下記の通りです。
| 属性encodefor設定値 | ||||
|---|---|---|---|---|
| html | htmlattribute | url | javascript | css |
| xml | xmlattribute | xpath | ldap | dn |
あと「html」を設定した場合のサンプルコードです。
<cfset testFlg = true>
<cfset testString = '<b style="color:red;">あ有A$##@!&</b>'>
<!--- 各式に対してencodeFor*関数が適用される --->
<cfoutput encodefor="html">
<!--- 三項演算子使用時は問題なし--->
<!--- 出力結果「<b style="color:red;">あ有A$##@!&</b>」 --->
#((testFlg IS true) ? testString : "テスト")#
<!--- iif関数使用時にはエラーとなる --->
#IIf(testFlg IS true, DE(testString), "テスト")#
</cfoutput>
今の所はCF2016を使った開発はやっていませんが、
いずれ触る時には使っていきたい…(:3_ヽ)_

