gpt4 book ai didi

jsf - 如何转义/避免 JSF url 中的与号 (&)

转载 作者:行者123 更新时间:2023-12-04 19:42:15 24 4
gpt4 key购买 nike

我在 JSF 中使用 window.open(url,"selectWindow","status=no,width=610,height=480,scrollbars=no")。网址看起来像这样:

/abcxyz.jsf?param1=value1&param2=value2 

这将在弹出窗口中显示为:

/abcxyz.jsf?param1=value1&param2=value2

问题是,value2 是一个包含 & 的字符串。比如,value2 = ab&12。我如何确保 value2 被读取为 ab&12 并且它不会因为 &< 而在 ab 之后中断 符号?

最佳答案

您需要URL-encode它。在普通 Java 中,这将是

String encodedValue2 = URLEncoder.encode(value2, "UTF-8");

&这样应该变成%26 .字符集应与服务器配置为用于解码传入的 HTTP 请求 URI(尽管通常默认为 ISO-8859-1)相同。

JSF <f:param> <h:outputLink> 中使用时也会这样做和 <h:link> ,但是它们对为 window.open() 生成 URL 没有帮助。 ,因此您确实需要在 URLEncoder 的帮助下在支持 bean 中执行此操作或者创建一个 custom EL function .如果您碰巧使用 JSF 实用程序库 OmniFaces , 那么你可以使用 #{of:encodeURL()} 为此。

另见:

关于jsf - 如何转义/避免 JSF url 中的与号 (&),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15635796/

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