![](/img/trans.png)
[英]How do I convert special characters from an <input> into an escape sequence
[英]How to escape special characters from Callbackparameters in RequestContext?
我想轉義附加在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);
}
瀏覽器控制台顯示Uncaught TypeError:無法讀取未定義的屬性'facesMessagesAvailable'
我認為這是由於在回調參數中使用&符而發生的。 結果,回調參數在客戶端不可用。
我嘗試將args封裝在encodeURIComponent中,這沒有用。
使用Hatem Aliman建議的解決方案以及JSON中提供的解決方案,替換引號和斜杠,但是用什么呢? 但是問題仍然存在。
想知道如何解決相同的問題。 任何幫助表示贊賞。
使用jsf 2.1和primefaces 4.0。
您可以使用escapeEcmaScript()
使用EcmaScript字符串規則對字符串中的字符進行轉義。
EcmaScript
以JavaScript和ActionScript方言而聞名。
例:
String schEventsJson = StringEscapeUtils.escapeEcmaScript("Hello & How are you?");
您可以在apache的公共語言中找到它
org.apache.commons.lang3.StringEscapeUtils
Maven的:
<!-- apache commons -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.