返回的URL as String在JSF中无效

时间:2012-04-24 18:11:12

标签: java string jsf-2 icefaces

我正在尝试使用google api作为文字转语音。因此,我构建一个String,然后将其作为URL传递给组件,以获取带有说出的单词的MP3。 所以,这是我的代码:

URI uri = new URI("http://translate.google.com/translate_tts?tl=es&q="+ URLEncoder.encode((String)this.text.getValue(), "UTF-8"));

当我uri.toString()时,它返回一个格式正确的URL。如果我在浏览器中复制并粘贴此输出可以完美地工作。 但是如果我将这个返回的String分配给ice的source属性:outputMedia不起作用。然后检查页面中生成的HTML和src属性中的String是:

http://translate.google.com/translate_tts?tl=es&q=Bobby+need+peanuts

&符号已被&替换。

如何避免这种情况来制作有效的网址?

1 个答案:

答案 0 :(得分:0)

您需要使用Javascript decode客户端的网址。

var decoded = decodeURI(URI)