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