2012-04-24 10 views
1

私はGoogleのAPIをテキスト読み上げとして使用しようとしています。だから、私は文字列を構築し、それをコンポーネントのURLとして渡して、話し言葉でMP3を取得する必要があります。 だから、これは私のコードです:文字列として返されたURLがJSFで無効です

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

私はその戻り整形URL uri.toString()作るとき。この出力をコピーして貼り付けると、ブラウザでうまく動作します。 しかし、この返されたStringをiceのsourceプロパティに代入すると、outputMediaは機能しません。次に、ページに生成されたHTMLを検査し、srcプロパティで文字列は次のとおりです。

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

&シンボルが&に置き換えられました。

有効なURLを作成するにはどうすればよいですか?

+0

+1 Googleのテキスト読み上げのヒントです。 – Alberto

+0

ありがとう!試してみる!優れた作品です!もちろん、URL文字列を正しく構築できる場合は、je – Fisu

答えて

0

クライアント側のURLは、decodeのJavascriptを使用する必要があります。

var decoded = decodeURI(URI) 
+0

マネージドBeanから返された文字列をデコードしてコンポーネントのソースに配置するにはどうすればよいですか?何か案が? – Fisu

+0

Java URIDecoder http://docs.oracle.com/javase/7/docs/api/java/net/URLDecoder.html#URLDecoder%28%29 – eabraham

+0

返す前にこのメソッドを文字列で使用すると、何も起こりませんが、私がコードを見たときのページ内の文字列は、&の代わりに '&' – Fisu

関連する問題