3

私はJSPを持っており、そのJSPには次のようなリンクがあります

http://mydomain.com/verify.do?email=emailid&id=123

ユーザーがそのリンクをクリックすると、velocityviewサーブレットに移動します。今、私の質問は、velocityサーブレットでこれらのパラメーターを引き出してコンテキストに入れ、テンプレートに送信できるようにする方法です。

getparameter、#set(#request.getAttribute(email)などを試しましたが、何らかの理由で、値がコンテキストまたはテンプレートに入るのがわかりません。

速度パラメータツールがあることは知っていますが、インストールと使用方法がわかりません。誰かが私を正しい方向に向けてくれれば幸いです。

4

2 に答える 2

8

解決策はVelocityコンテキストです。バッキングJavaクラスまたはVelocityサーブレットで、パラメーターを読み取り、コンテキストに配置します。

context.put("email", request.getParameter("email"));
context.put("id", request.getParameter("id"));

$email次に、Velocityテンプレートで、それらをおよびとして参照できます$id

于 2012-12-04T14:34:03.953 に答える
1

受け入れられた回答では、コントローラー内のすべての引数を明示的に巻き戻す必要があります。したがって、フィールドが5つある場合は、上記のステートメントが5つあります。

私は提案します:

context.put("request", request);

次に、テンプレートで次のようにします。

<p>Is the Jump Run Heading Good? <b>$request.getParameter("heading")</b></p>  

たぶん、あなたはその最後の少しの醜さを避けるために小さなマクロを書くことができます。getParameterNames()を使用してリクエストパラメータ名をループし、それぞれでgetParameter()を呼び出す小さなヘルパー関数を記述します。

于 2013-01-21T21:23:37.530 に答える