2013-06-10 30 views
5

Portletleri olan bir başlangıç ​​yapıyorum ve request.setAttribute ve response.setRenderParameter (bir eylem için) arasındaki farkı anlamıyorum. Her ikisi de bir özniteliği isteğinize kaydeder ve sonra da ona erişime izin verir. Ben özellikle processAction ile aksiyon metodundan hemen sonraki render arasındaki aktarım hakkında düşünüyorum.Portletler - setAttribute ve setRenderParameter arasındaki farklar

SetRenderParameter ile karmaşık bir nesneyi "stoklayamayız", ancak kullanmak istediğim bir String'i aktarmak istiyorsam bunu biliyorum.

Bu durumda setRenderParameter yöntemini veya setAttribute yöntemini kullanmalı mıyız?

cevap

7

Eh, bir istekte bir öznitelik belirler. Diğer yanıtta bir parametre belirler. Belli ki farklı nesneler.

response.setRenderParameter, eyleminize dayalı olarak farklı render yöntemlerini çağırmak istiyorsanız kullanışlıdır. Örneğin, eylem yönteminizin bir e-posta gönderdiğini ve kullanıcıya başarı ve başarısızlık konusunda farklı bir görünüm sunmak istediğinizi düşünün. Bu durumda, size ActionMapping içinde

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

böyle bir şey yapmak Ve sonra iki RenderMapping yöntemleri olurdu:

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

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

Mükemmel, teşekkür ederim! – user2472508

İlgili konular