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 字符 (

<、>、"

除其他外)正在逃脱。尝试将 escape 设置为 false 或类似。找不到“com.ibm.useful.http.PostData”的 api 文档

于 2010-02-22T10:46:35.233 回答
0

尝试使用以下代码段:

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

如果您使用的是 UTF-8 编码,请确保您的数据库也设置为 UTF-8 编码。

如果这不能解决,请阅读这篇文章

于 2010-02-22T11:28:10.083 回答