2

少し問題があります。ファイルの応答コンテンツに書き込み、ajax応答としてクライアントに返します。
しかし、html置換が発生します:of >to>など...
この置換をオフにするために私は何をしなければなりませんか?

res.setHeader( "Cache-Control", "must-revalidate, post-check=0, pre-check=0" );
res.setHeader( "Pragma", "public" );
res.setContentType( "text/html" );

TIA

アップデート

//    import com.ibm.useful.http.PostData;
        PostData pd = new PostData( req );
        final FileData data;

    try {
        data = pd.getFileData( "sqlFile" );

    ByteArrayOutputStream buf = new ByteArrayOutputStream();
    for ( byte b : data.getByteData() ) {
       buf.write( b );
    }
    res.getWriter().print( buf.toString() );
}

buf.toString()デバッガーで見ました。そこは大丈夫です。置換はさらに進みます。しかしここで...

4

3 に答える 3

2

HTML特殊文字は、HTMLエンティティにエスケープされます。

これが応答に書き込んだ直後、および応答データがクライアントに到着する直前に発生したことが確実な場合は、何らかの理由でHTMLエンティティをエスケープしたフィルターがチェーン内にある可能性があります。宣言されたフィルターをチェックインし、必要に応じweb.xmlて調整しurl-patternます。

于 2010-02-22T11:36:18.670 に答える
0

これは通常、html文字(

<、>、 "

とりわけ)は逃げています。エスケープをfalseなどに設定してみてください。「com.ibm.useful.http.PostData」のAPI資料が見つかりません

于 2010-02-22T10:46:35.233 に答える
0

以下のスニペットを使用してみてください。

res.setContentType("text/html; charset=UTF-8");

データベースを使用している場合は、データベースもUTF-8エンコーディングに設定されていることを確認してください。

これで解決しない場合は、この記事をお読みください。

于 2010-02-22T11:28:10.083 に答える