gpt4 book ai didi

javascript - 从 Stripes action bean jquery 中转义单引号/双引号

转载 作者:行者123 更新时间:2023-11-30 16:39:20 28 4
gpt4 key购买 nike

我有一个 javascript 函数,如下所示,

function check() {
document.getElementById("customer.name").value = "${actionBean.customer.name}";

.....

}

值 ${actionBean.customer.name} 可能有 ' 或 ""引号。我怎样才能从 javascript 方法中逃脱它?

例如,actionBean.customer.name 动态变为 "HI "I'M HOME""

干杯!

最佳答案

org.apache.commons.lang3.StringEscapeUtils可以为你做到这一点。它有一个方法 escapeEcmaScript(String input)

org.apache.commons.lang.StringEscapeUtils 中的旧版本包含类似的方法 escapeJavaScript(String input)

我通常创建一个 StringFunctions 类,由静态函数组成,比如包装 escapeEcmaScript 函数:

public static String escapeEcmaScript(String s) {
return StringEscapeUtils.escapeEcmaScript(s);
}

在标记库描述符中包含 StringFunctions 类:

<taglib xmlns="http://java.sun.com/xml/ns/j2ee" version="2.0">  

<tlib-version>1.0</tlib-version>
<short-name>tlb</short-name>
<uri>http://www.trilobiet.nl/taglib/trlbt</uri>

<function>
<name>escapeEcmaScript</name>
<function-class>
com.trilobiet.apollo.stripes.viewhelpers.StringFunctions
</function-class>
<function-signature>
String escapeEcmaScript(java.lang.String)
</function-signature>
</function>

<!-- more functions -->

</taglib>

在jsp中包含标签库描述符:

<%@ taglib prefix="tlb" uri="/WEB-INF/taglib/tlb.tld" %>

(当然,您可以自由使用任何听起来合乎逻辑的短名称和标签库前缀。)

然后像这样使用:

${tlb:escapeEcmaScript(actionBean.customer.name)}

关于javascript - 从 Stripes action bean jquery 中转义单引号/双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32243978/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com