0

テキスト領域で文全体の文字列配列を読み取り、行ごとに出力している JSP があります。いいえ、太字と赤い色のフォントで線のパターンを強調したいと思います。たとえば、読み取られている行にパターン「エラー」が含まれている場合 (単一の単語または「initializationerror」や「」などの単語の一部である可能性があります)、太字と赤色で強調表示されます。残りの行はそのまま印刷されます。

以下はコード スニペットです。

<table border="2">
<% 
    if(session.getAttribute("Result") != null)
    {
        String Result = (String) session.getAttribute("Result");
        if(Result.length() != 0)
        {
            String[] split_EOL = Result.split("\n");
%>
            <tr align="center"> 
                <td>
                    // Text area start here 
                    <textarea rows="50" cols="100" readonly="yes">   
<%
                        for(int i = 0; i < split_EOL.length; i++)
                        {
                            out.println(split_EOL[i]);
                            out.println(" ");
                        }
%>
                    </textarea>
                 </td>
             </tr>
<%
         }
    }
%>
</table>

助けてください

私は次のことを試しました:

<textarea rows="50" cols="100" readonly="yes"> 
<% 
     for(int i=0;i<split_EOL.length ; i++){ 
     out.println(split_EOL[i].replaceAll("\\b\\w*"+Pattern+"\\w*\\b", "<b>$0</b>"));   
     out.println(" "); 

                                          }
%> 
</textarea> 

ここで Pattern = ERROR..... ですが、このように表示されます

95323:[<b>ERROR</b>] Logger not set 

out.println でいくつかの単語を太字で表示するようにしましたが、太字のタグをレンダリングしませんでした:

 out.println("<b>"+Pattern+"</b>");%>

表示のみ

<b>ERROR</b>
4

3 に答える 3

1

パターン\b\w*error\w*\bを_ _<span class="error-string">$0</span>

out.println(split_EOL[i].replaceAll("\\b\\w*error\\w*\\b", "<span class=\"error-string\">$0</span>"));

CSSで定義する

error-string {
    color: red;
    font-weight: bold;
}

大文字と小文字を区別しない検索が必要な場合は、パターンの前に を付けることができます。パターン - 特別な構造(?i)を参照してください。

于 2013-01-26T23:57:18.753 に答える
0

簡単な方法は次のとおりです。

文字列ハイライト = "<mark>text</mark>"; ;

<%=textString.replaceAll("テキスト", ハイライト) %>

于 2014-03-13T09:01:47.273 に答える
0
<%if( //your condition )
  {
    out.println("<span style=\"font-weight:bold; color:red; \"> Bla Bla Bla </span>");
  }
%>
于 2013-01-26T23:57:43.570 に答える