2017-01-19 8 views
0

私は、登録商標記号 "®"を含む行を挿入するためにリンクのtitle属性を使用することを強く望むクライアントを持っています。私は基本的に2つのオプションを残して、コードを変更する非常に限られた能力を持っているエスケープシーケンス& regを渡す;出力をエスケープしたり、シンボル自体を渡したりせずに、JSFがエスケープシーケンスを処理するようにしてください。私は前者を好むだろうし、いくつかのバリエーションでそれを試して、シーケンスのエスケープを完全に防ぐことができないので、私はいつも&で終了するreg;タイトルに出力リンクのタイトル属性のエスケープを防止する

<h:outputLink 
    value="#{url}" 
    title="#{stringContainingEscapeSequence}" 
    escape="false" 
> 
    <h:outputText value="#{myLinkText}" /> 
</h:outputLink> 

<h:outputLink 
    value="#{url}" 
> 
    <f:attribute name="title" value="#{stringContainingEscapeSequence}" escape="false"/> 
    <h:outputText value="#{myLinkText}" /> 
</h:outputLink> 

どちらのページに渡されるエスケープ値で上記結果を、私は生の形で®シンボルを挿入したとき、私が「A ®」の代わりにだけシンボルで終わります。

TL; DR:タイトル属性の値をautoescapingしてJSFを停止する方法を知っている人はいますか?私はバックエンドでJavaを知っていますが、私はJSFを使用しません。

答えて

1

...そのままの状態で®記号を挿入すると、記号の代わりに "À®"が表示されます。

私には、文字セットの不一致のように聞こえます。例えば生のバイトは1つの文字エンコーディングで表されますが、ブラウザは異なる文字エンコーディングを使用する必要があると考えています。

自動文字処理を防ぐ方法を見つけられない場合は、文字エンコーディングの不一致を修正してみてください。

+0

または文字列内に間違った追加文字がある(®が表示されているため) – Kukeltje

関連する問題