コメント付きのコードを使用すると、XPage で奇妙な動作が発生しました。
この問題が発生した場所でhtmlを出力する多くのコードを含むテキストフィールドがありました。開発中にいくつかのフィールドと他のフィールドで多くの問題が発生したため、フィールドが何をしているのかをよりよく理解するために、コードをトラブルフィールドからテキストフィールド内のコメントにコピーして、他のコードが見えるようにすることにしました。しかし、問題が見つかるまで、xPage の動作がおかしくなり始めました。
以下のコードは、私の問題を引き起こした例です.2つのテキストフィールドがあり、1つはスコープvarを設定し、同じvarを設定するがコメントされているコメントもあり、もう1つはScopeVarを示しています。これにより、2 番目のテキスト ボックスに「現在地」が出力されると思っていましたが、代わりに「ふふ、私はここにいます」と表示されました。
<xp:text escape="true" id="computedField7">
<xp:this.value><![CDATA[#{javascript://
sessionScope.put("findme","where i am");
/* #{javascript:sessionScope.put("findme","HuHu I am here!");} */
return sessionScope.findme;}]]></xp:this.value>
</xp:text>
<xp:br></xp:br>
<xp:text escape="true" id="computedField6"
value="#{javascript:return sessionScope.findme;}">
</xp:text>
この問題に遭遇した元のコードでは、古い #{} el をコメントアウトして代わりに JavaScript を使用したかったのですが、コードの途中で el をコメントのままにしておきました..同じ結果です。コメントで #{ または ${ を使用すると、常に計算されるようです!
ノート 9 でこれを修正しました。現在、8.5.3 を使用しています。
更新:
ちょっとした注意: dojoAttribute queryExpr を使用するときは注意してください。クエリは SSJS のように見え、SSJS"${0}"
として解釈されるからです。私は今これを使用します:
<xe:this.queryExpr><![CDATA[${javascript:"*$\{0}*";}]]></xe:this.queryExpr>
それを機能させるために。のヒントを提供してくれたPaul Stephen Withersに感謝し\{
ます。