gpt4 book ai didi

javascript - 如何从RequestContext中的Callbackparameters中转义特殊字符?

转载 作者:行者123 更新时间:2023-12-03 11:18:28 26 4
gpt4 key购买 nike

我想转义 RequestContext 回调参数中附加的特殊字符。

http://forum.primefaces.org/viewtopic.php?f=3&t=40444中明确提到了这个问题

例如:单击下面的按钮后,将调用 doSomething。

<p:commandButton value="Save Event" style="float:right;margin-right:100px;" 
actionListener="#{myBean.doSOmething}"
oncomplete="if (args.facesMessagesAvailable){handleEditEventRequest(args);}
</p:commandButton>

在服务器方法中,参数通过请求上下文传递给客户端。

public void doSOmething() {
String schEventsJson = "Hello & How are you?";
RequestContext.getCurrentInstance().addCallbackParam("eventList", schEventsJson);
}

浏览器控制台显示未捕获的类型错误:无法读取未定义的属性“facesMessagesAvailable”

我认为发生这种情况是因为在回调参数中使用了&符号。因此回调参数在客户端不可用。

我尝试将 args 包含在encodeURIComponent 中,但没有用。

使用Hatem Aliman建议的解决方案以及JSON, replace quotes and slashes, but by what?中提供的解决方案但问题仍然存在。

想知道如何解决。如有任何帮助,我们将不胜感激。

使用 jsf 2.1 和 primefaces 4.0。

最佳答案

您可以使用escapeEcmaScript(),它使用EcmaScript字符串规则转义字符串中的字符..

EcmaScript 最出名的是 JavaScript 和 ActionScript 方言。

示例:

String schEventsJson = StringEscapeUtils.escapeEcmaScript("Hello & How are you?");

你可以在apache的commons lang中找到它

org.apache.commons.lang3.StringEscapeUtils

Maven:

<!-- apache commons -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>

关于javascript - 如何从RequestContext中的Callbackparameters中转义特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27226644/

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