将多行 Java 字符串传递给 JavaScript 函数(使用 Velocity)

发布于 2024-11-30 08:24:35 字数 304 浏览 2 评论 0原文

我正在尝试将 String 变量传递到我的 javascript 函数中,但我的变量有多行: 例如:

String info = "aaaa \n bbb \n ccc";

我需要此表单才能正确显示它。现在我有一个带有信息字段的“结果”Java 对象,但我无法将其传递给我的 javascript 函数。

popupErrors('$!{result.info}')" 

问题是 result.info 作为带有新行的整个文本放在这里。我该如何解决这个问题?

I'm trying to pass a String variable into my javascript function, but my variable has a multiple lines: For example :

String info = "aaaa \n bbb \n ccc";

I need this form to properly display it. And now I have a "result" Java Object with info field and I can't pass this to my javascript function.

popupErrors('$!{result.info}')" 

The problem is that result.info is put here as a whole text with new lines. How can I solve this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

时光磨忆 2024-12-07 08:24:35

也许 popupErrors 正在 HTML 弹出窗口中显示字符串,而不是 JavaScript 警报。因此,新行不会显示,您需要将 \n 替换为
,以便它们显示在 HTML 中。
或者
也许 $!{result.info} 会自动将您的 \n HTML 编码为

Maybe popupErrors is displaying the string an an HTML popup instead of say a javascript alert. So the new lines are not getting show, you'd need to replace \n with <br/> so they show up in HTML.
OR
Maybe $!{result.info} is automatically HTML encoding your \n to

若相惜即相离 2024-12-07 08:24:35

您需要将字符串转义为Javascript格式

popupErrors('$esc.javascript($result.info)') 

You need to escape the string to Javascript format:

popupErrors('$esc.javascript($result.info)') 
诗酒趁年少 2024-12-07 08:24:35

您需要转换字符串,以便转义所有 JavaScript 特殊字符(行尾、"、'、制表符等)(\n、\"、\'、\t 等)。

Commons-lang 有 StringEscapeUtils.escapeEcmaScript 来执行此操作。将此方法封装在 JSP 标记内,或转义控制器中的字符串。

You need to transform your String so that all the JavaScript special characters (end of line, ", ', tabs, etc.) are escaped (\n, \", \', \t, etc.).

Commons-lang has StringEscapeUtils.escapeEcmaScript to do this. Encapsulate this method inside a JSP tag, or escape the string in your controller.

笛声青案梦长安 2024-12-07 08:24:35

将 \n 替换为空格。

Str.replace("\n"," ");

然后将字符串传递给javascript函数

replace \n with space.

Str.replace("\n"," ");

Then pass the string to javascript function

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文