5

私はポートレットの初心者で、request.setAttribute と response.setRenderParameter (アクション用) の違いがわかりません。どちらも属性をリクエストに保存し、後でアクセスできるようにします。action メソッドの直後にある render と processAction の間の伝達については特に考えています。

setRenderParameter では複雑なオブジェクトを「ストック」できないことはわかっていますが、文字列を転送したい場合はどれを使用すればよいですか?

setRenderParameterメソッドとメソッドのどちらを使用する必要がありsetAttributeますか?

4

1 に答える 1

7

さて、リクエストに属性を設定します。もう 1 つは、応答にパラメーターを設定します。明らかに、それらは異なるオブジェクトです。

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(){
于 2013-06-12T17:51:44.657 に答える