0

<code>HTMLタグでラップされたテキストウィッチのスタイルを設定したい。ただし、スタイリングはサーバー側クラスで行われます。例:

myValue.replaceAll(" " + textToStyle + " ", " <span style=\"color: orange;\"> " + textToStyle + "</span> ");

この行は、<code>タグで囲まれたテキストとして表示されます。テキストは JSF データテーブルに表示されます。

<h:column>
    <code class="dt_row">
        #{myList.myValue}
    </code>
</h:column>

<code>タグCSSクラス:

.dt_row {
    height: 8px;
    margin: 3px 3px 3px 3px;
    color: #000000;
    font-size: 12px;
}

問題は、HTML がブラウザでレンダリングされるときに、コードがすべてのタグとともに表示されることです。これ<span style=\"color: orange;\">がページに表示されるのではなく、オレンジ色のテキスト値が表示されるようにします。

それを達成する方法はありますか?

4

2 に答える 2

4

それ以外の

#{myList.myValue}

あなたは試すことができます

<h:outputText value="#{myList.myValue}" escape="false" />

"escape" を false に設定すると機能します (そうしないと、フレームワークは文字列をエスケープします...)。

于 2012-05-08T13:57:51.857 に答える
2

よりエレガントな方法は、h:outputTextコンポーネントのstyle-attributeを使用し、色のBeanを参照することです。例:

<h:column>
    <code class="dt_row">
        <h:outputText value="#{myList.myValue}" style="color: #{myList.color};" />
    </code>
</h:column>
于 2012-05-08T14:07:16.487 に答える