有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我可以在视图中转义多行代码段吗?

我需要生成一个多行HTML代码段,将其转义并呈现给用户

这是我希望用户获得的原始HTML:

<h1>Here is your HTML:</h1>
<div>
  &lt;script&gt;
    alert("Hello world");
  &lt;/script&gt;
</div>

将被呈现为:

Here is your HTML:

<script>
  alert("Hello world");
</script>

我发现在视图中写入${'<script>alert("Hello world");</script>'}确实会逃避它,但这似乎不适用于${''}$中的多行字符串-我得到了以下错误:

expecting anything but ''\n''; got it anyway

当前是否有方法在视图中转义多行字符串?(没有从控制器或类似的东西传递字符串)


共 (2) 个答案

  1. # 1 楼答案

    更好的方法可能是使用escape()。原始()

    
    
        ${ "<script> alert(\"Hello world\"); </script>".escape().raw() }
    
    
  2. # 2 楼答案

    我似乎错过了最明显的解决方案:使用${''}的多个实例:

    <h1>Here is your HTML:</h1>
    <div>
    <pre>
    ${'<script>'}
      alert("Hello world");
    ${'</script>'}
    </pre>
    </div>