0

POST リクエスト パラメータのデコードに問題があります。

パラメータに ASCII 文字のみが含まれる場合は常に、テキスト内のすべてのスペースが「+」記号としてデコードされます。したがって、' this is a test ' の代わりに、コントローラーは ' this+is+a+test ' パラメーター値を取得します。

さらに 、パラメーター テキストに非 ASCII 文字が 1 つでも含まれている場合、たとえば、ラテン語の「a」をキリル文字の「a」に置き換えると、問題はなくなります。

はい、Intellij Idea IDE 11.x の Windows 7 開発マシンでアプリケーションを実行している間、またはスタンドアロンのローカル Tomcat 7.0.29 にデプロイされた war アーカイブとして、すべて問題ありません。

本番アプリは、SSL コネクタ ポート 8443 上の Ubuntu/Tomcat 7.0.21 へのすべての依存関係を含む war アーカイブとしてデプロイされます。コネクタは、属性URIEncoding="UTF-8"で構成されます。

Config.groovy の設定は次のとおりです。

  • grails.views.gsp.encoding = "UTF-8"
  • grails.converters.encoding = "UTF-8"
  • grails.views.gsp.sitemesh.preprocess = true

すべての gspには、head 要素にメタ宣言http-equiv="Content-Type" content="text/html; charset=UTF-8"があります。

アプリケーション プラグインは、webxml:1.4.1tomcat:$grailsVersionhibernate:$grailsVersionspring-security-core:1.2.7.3spring-security-openid:1.0.4 です。

最後の試みとして、Grails のバージョンを 2.2.0 から最新の 2.2.2 にアップグレードしようとしましたが、結果はありませんでした。

私のケースは、これらのような他の多くのケースとは反対のようです

誰でも助けることができますか?

ありがとう。

4

1 に答える 1

3

Tomcat のバージョンを 7.0.21 から 7.0.39 にアップグレードすることで、最終的に容量の問題を解決しました。アプリケーション ファイルは変更されていません。

于 2013-05-06T08:13:26.207 に答える