如何在JSP中逃避JSP代码?

时间:2013-02-08 15:45:02

标签: javascript jsp grails escaping gsp

我有这样的源JSP:

<c:out value="SOURCE_CODE" escapeXml="false" />

SOURCE_CODE将被替换(通过复制和粘贴)与应生成的JSP的转义源。这个JSP的结果应该是:

SOURCE_CODE

对于SOURCE_CODE可以承担的任何输入。结果不应该是HTML或XML编码。它可能是HTML。它可能是另一个JSP。

在粘贴SOURCE_CODE之前,我可以运行我需要的任何转义。例如,在JavaScript中(我目前正在使用NodeJS),我使用类似的东西:

function gspEncode(source) {
    // returns a string safe to paste into the SOURCE_CODE spot above
    return source
            .replace(/\$/g,'\\$')
            .replace(/<%/g,'<\\%')
            .replace(/%>/g, '%\\>')
            ... what else is needed?
}

任务类似于JavaScript的转义功能。

var anyThing = readFile("/path/to/file");
console.log("console.log('" + escape(anyThing) + "');");

可以获取上述程序的输出,在JavaScript解释器中运行它,它将打印文件的内容(在读取文件时)。

0 个答案:

没有答案