2

POST リクエストを送信する基本的な html ページがあります。vaadin 7では、POSTを取得するために次のことを行っています

request.getParameter("username"); 

これを行うと null が返されますが、Vaadin 6 でまったく同じことを行うと、ユーザー名の実際の値 (「john」など) が取得されます。また、html コードでメソッドを「GET」に変更しても問題はなく、(同じコードを使用して) ユーザー名の値を取得できます。

これは Vaadin 7 のバグですか、それとも別の方法で実装する必要がありますか?

4

3 に答える 3

1

同じ問題がありました。デバッグは、Vaadin 7 が内部で 2 つの要求を実行することを示しています。最初のリクエストには、URL および投稿されたフォームからのすべてのパラメーターが含まれます。2 つ目はおそらく internal redirect で、URL からの同じパラメーターと Vaadin UI 関連のパラメーターを使用します。

したがって、基本的に投稿されたパラメーターをキャプチャするには、RequestHandlerを追加 し、最初のリクエストからフェッチして、セッションなどのどこかに保存し、この保存されたデータをコンポーネントで読み取ることができます。このソリューションは私にとってはうまくいきます。

于 2014-03-12T19:50:54.030 に答える
0

私は願っています, それはあなたがそれを得るのに役立ちます.

VaadinRequest vaadinRequest = VaadinService.getCurrentRequest();
logger.error("User Name : "+vaadinRequest.getUserPrincipal().getName()); (OR)
logger.error("User Name : "+vaadinRequest.getRemoteUser());
于 2014-08-05T06:14:59.990 に答える