在来自 jstl 的 JavaScript 函数参数中传递单引号和双引号(非常棘手)
Passing single and double quotes both in JavaScript function parameter from jstl (much tricky)
我知道这个问题看起来很愚蠢,但我遇到了一种情况,我必须将参数传递给 javascript 函数,而这些参数是 String
类型。
数据的问题是,数据可以有 single Quote
或 Double quote
例如
"TEST"、TEST
或 TEST
。这是来自数据库。
这是我点击时的 JSTL 调用。
第二个参数值为
ANOTHER " company"
这才是真正的根本原因。
我也尝试了 JSTL fn: replace(.....)
方法,但没有成功。
注:也可以是'ANOTHER' Company
.
<a href="javascript:void(0);"
onclick="return showPopUp('${account.fName}','${fn:replace(account.lName, "\'","\\'")}','${fn:replace(account.compName, "\'", "\\'")}','${account.firstTimePin}','${account.email}');return false;">
</a>
这会生成以下 HTML 代码。
<a href="javascript:void(0);"
target="_self"
onclick="return showPopup('CRUISE ','ANOTHER " company"','123456','user@directbiller.com');">
</a>
这是我的 javascript 函数
function showPopup(param1,param2,param3,param4){
// busness logic
}
问题是call/syntax调用showPopup()
方法无效。
用"
编码。
function showPopup() { console.log(arguments); }
<a href="javascript:void(0);" target="_self"
onclick="return showPopup('CRUISE ','ANOTHER " company"','123456','user@directbiller.com');">
Link
</a>
只需添加另一个替换项,即
fn:replace(fn:replace(account.compName, "\"", """), "\'", "\\'")
我知道这个问题看起来很愚蠢,但我遇到了一种情况,我必须将参数传递给 javascript 函数,而这些参数是 String
类型。
数据的问题是,数据可以有 single Quote
或 Double quote
例如
"TEST"、TEST
或 TEST
。这是来自数据库。
这是我点击时的 JSTL 调用。
第二个参数值为
ANOTHER " company"
这才是真正的根本原因。
我也尝试了 JSTL fn: replace(.....)
方法,但没有成功。
注:也可以是'ANOTHER' Company
.
<a href="javascript:void(0);"
onclick="return showPopUp('${account.fName}','${fn:replace(account.lName, "\'","\\'")}','${fn:replace(account.compName, "\'", "\\'")}','${account.firstTimePin}','${account.email}');return false;">
</a>
这会生成以下 HTML 代码。
<a href="javascript:void(0);"
target="_self"
onclick="return showPopup('CRUISE ','ANOTHER " company"','123456','user@directbiller.com');">
</a>
这是我的 javascript 函数
function showPopup(param1,param2,param3,param4){
// busness logic
}
问题是call/syntax调用showPopup()
方法无效。
用"
编码。
function showPopup() { console.log(arguments); }
<a href="javascript:void(0);" target="_self"
onclick="return showPopup('CRUISE ','ANOTHER " company"','123456','user@directbiller.com');">
Link
</a>
只需添加另一个替换项,即
fn:replace(fn:replace(account.compName, "\"", """), "\'", "\\'")