2013-06-10 8 views
5

私はポートレットの初心者です。request.setAttributeとresponse.setRenderParameter(アクションの場合)の違いを理解していません。どちらも、属性を要求に保存し、後でそれにアクセスすることを許可します。私は、特に、actionActionとアクションメソッドの直後のレンダリングとの間の伝達について考える。ポートレット - setAttributeとsetRenderParameterの相違点

私はsetRenderParameterを使って複雑なオブジェクトを「在庫」できないことを知っていますが、私が使用するはずのStringを転送したいのですか?

この場合、setRenderParameterメソッドまたはsetAttributeメソッドを使用する必要がありますか?

答えて

7

まあ、リクエストに属性を設定します。もう一方は応答のパラメータを設定します。彼らは明らかに異なるオブジェクトです。

response.setRenderParameterは、アクションに基づいて別のレンダリングメソッドを呼び出す場合に使用します。たとえば、アクションメソッドが電子メールを送信し、成功と失敗の別のビューをユーザに表示したいとします。この場合は、あなたがたActionMappingに

if(sentOK){ 
    response.setRenderParameter("result", "success"); 
}else{ 
    response.setRenderParameter("result", "fail"); 
} 

をこのような何かをそして2 RenderMappingメソッドを持っているでしょう:

@RenderMapping(params = "result=success") 
public String success(){ 

@RenderMapping(params = "result=fail") 
public String fail(){ 
+0

パーフェクトを、ありがとうございました! – user2472508

関連する問題