Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何打印JSP中的字符串?(字符串本身看起来像JSP代码)_Java_Jsp - Fatal编程技术网

Java 如何打印JSP中的字符串?(字符串本身看起来像JSP代码)

Java 如何打印JSP中的字符串?(字符串本身看起来像JSP代码),java,jsp,Java,Jsp,我只想完全按照JSP中的格式打印以下字符串(它是电子邮件模板的标记,稍后将被替换) 我试过了 <% out.println("<%= escapeUrl(message.delivery.mailParameters.subject) %>"); %> 但这给了我一个“字符串文字没有被双引号正确关闭”的错误,这很奇怪,因为代码中没有打开的双引号。是否需要执行任何操作(如转义字符?所需的构造称为“静态文字”——您希望绕过jsp解析并直接输出jsp标记。语法如下:

我只想完全按照JSP中的格式打印以下字符串(它是电子邮件模板的标记,稍后将被替换)


我试过了

<% out.println("<%= escapeUrl(message.delivery.mailParameters.subject) %>"); %>


但这给了我一个“字符串文字没有被双引号正确关闭”的错误,这很奇怪,因为代码中没有打开的双引号。是否需要执行任何操作(如转义字符?

所需的构造称为“静态文字”——您希望绕过jsp解析并直接输出jsp标记。语法如下:

<\%= escapeUrl(message.delivery.mailParameters.subject) %\>

即,在角括号和两端的百分比之间添加反斜杠


正如在这里的“注释”下所记录的:

以下应该可以工作,并在tomcat服务器上进行测试。虽然它会在EclipseIDE中显示错误,但会正确编译并呈现输出

<%="<%=escapeUrl(message.delivery.mailParameters.subject)%\>"%>


可能正在使用一个变量会有帮助吗?比如字符串st=和@drgPP是的我试过了。。。它给出了相同的错误,您必须用反斜杠转义字符串中的
,否则JSP解析器会将其视为块的结尾,从而抱怨缺少结束引号。块首先被识别,然后才被解释。@Tommclure这是有效的。非常感谢。这对我不起作用。。。基本上,我需要按原样打印,这样我就可以将其作为URL参数传递<代码>http://www.domain.com?param=。这不是一个有效的代码并不重要,我只需要传递这个确切的字符串,因为它只是一个稍后将被替换的标记,看起来像是jsp。什么正在处理您的jsp?码头?雄猫?Jetty似乎将
%\>
结束标记传递到最终输出,这在IMO中是不正确的,但在其他方面它对我有效。
<%="<%=escapeUrl(message.delivery.mailParameters.subject)%\>"%>