gpt4 book ai didi

javascript - 在 onClick 上内联encodeURIComponent

转载 作者:行者123 更新时间:2023-11-28 09:42:22 25 4
gpt4 key购买 nike

我的页面上有一个链接,单击该链接时将调用带有 2 个参数的方法。这些参数之一可能具有特殊字符(即 ' 或 é 等)。当我尝试传递此类变量时出现页面错误,因此我尝试在传递它们之前对它们进行编码。如何内联调用encodeURIComponent?

我正在尝试这样做:

<a  title="${facet.toolTipDisplay}" onclick="submitFacet('Company', '${encodeURIComponent(facet.javaScriptVar)}')">

我似乎收到了错误:

严重:Servlet jsp 的 Servlet.service() 引发异常
org.apache.jasper.JasperException:/WEB-INF/pages/SearchForm.jsp(831,126) 当未指定默认命名空间时,函数encodeURIComponent必须使用前缀

免责声明:我对 Web 内容不熟悉,只能访问 JSP 页面,而不能访问 facet.javaScriptVar 所在的 java 类。

最佳答案

您好,您正在尝试使用 Java 或 JS 来编码您的 UI 组件吗?我认为最简单的方法就是使用JS函数。编码方法将取决于要编码的字符,从较少的排他性到大多数您拥有的 escape (不适合uris),encodeUriencodeUriComponent

<a  title="${facet.toolTipDisplay}" onclick="submitFacet('Company', 
'encodeURIComponent(${facet.javaScriptVar})'">

为了更有礼貌,您可以在submitFacet函数中应用编码,只需传递Company和您的JSTL变量。

阅读你的评论,我建议在用 JS 处理之前转义 va 内容,否则是不可能的。

尝试以下两种方法之一:

onclick="submitFacet('<c:out value="${facet.javaScriptVar}"/>')"  

onclick="submitFacet('${fn:escapeJava(facet.javaScriptVar)}')"

假设您导入 Apache标签库。

关于javascript - 在 onClick 上内联encodeURIComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12216703/

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