0

ejb3、jsf、mavenでコード化されたアプリがあります。これはjboss4.2.2GAで実行されます。

私が2日間直面している問題は、実行時にurlに追加された英語以外の文字を変換できないことです。たとえば、検索テキストボックスとボタンがあります。ユーザーが英語以外の文字を含む単語を入力してボタンを押すと、%56や&347などの不正な文字が含まれるURLに追加されます。

私がここでやろうとしていることを達成する方法はありますか?ところで、アプリケーション側(フィルターやcontext.xmlなど)ではなく、jboss側の構成でこの問題を解決する方法もありますか?

助けていただければ幸いです、ありがとう、バリス

- 編集:URLEncoderを使用してこの問題を解決しました。変数をactionメソッドに渡すとき、正しい文字セットにエンコードするためにURLEncoderを使用します。

例: URLからパラメーターを取得します 。StringsomeString = ServletActionContext.getRequest()。getParameter( "someStringFromURL"); 文字列をエンコードします。 エンコードされた文字列=URLEncoder.encode(someString、 "ISO-8859-9");

4

2 に答える 2

1

tomcat server.xml(最近のバージョンの場合はdeploy / jboss-web.deployer / server.xml)で適切なコネクター要素を見つけ、URIEncoding値が.の属性を追加しますUTF-8

于 2010-06-30T22:55:30.430 に答える
0

URLEncoderを使用してこの問題を解決しました。変数をactionメソッドに渡すとき、正しい文字セットにエンコードするためにURLEncoderを使用します。

例:URLからパラメーターを取得します。

String someString = ServletActionContext.getRequest().getParameter("someStringFromURL"); 

文字列をエンコードします。

String encoded = URLEncoder.encode(someString, "ISO-8859-9");
于 2011-02-24T11:51:42.150 に答える