There are four different ways to pass/copy parameters from Liferay's Action Phase to Render Phase.
1) Pass all parameters
- Use PortalUtil class to copy all the parameters in processAction method
- PortalUtil.copyRequestParameters(actionRequest, actionResponse);
(This can be used if all the parameters passed are required in render method)
2) Pass selective parameters
- Manually set variables inside renderparameter inside processAction method
- actionResponse.setRenderParameter("action", "Y");
(Value set here can be used in rendermethod using renderRequest.getParameter("action"))
3) Pass all parameters across all processAction method
- Specify below value inside portlet.xml file
<init-param>
<name>copy-request-parameters</name>
<value>true</value>
</init-param>
(Need to redeploy your portlet to brig above change into effect.)
4) Pass all parameters via manually reading
- Some people create Enumeration to iterate over all the elements and put in RenderParameter one by one
- Ex:
Enumeration<String> paramNames = actionRequest.getParameterNames();
while(paramNames.hasMoreElements()){
actionResponse.setRenderParameter(paramNames.nextElement(), actionRequest.getParameter(paramNames.nextElement()));
}
Cheers!
Henal Saraiya
(Senior Consultant)
CIGNEX Datamatics
1) Pass all parameters
- Use PortalUtil class to copy all the parameters in processAction method
- PortalUtil.copyRequestParameters(actionRequest, actionResponse);
(This can be used if all the parameters passed are required in render method)
2) Pass selective parameters
- Manually set variables inside renderparameter inside processAction method
- actionResponse.setRenderParameter("action", "Y");
(Value set here can be used in rendermethod using renderRequest.getParameter("action"))
3) Pass all parameters across all processAction method
- Specify below value inside portlet.xml file
<init-param>
<name>copy-request-parameters</name>
<value>true</value>
</init-param>
(Need to redeploy your portlet to brig above change into effect.)
4) Pass all parameters via manually reading
- Some people create Enumeration to iterate over all the elements and put in RenderParameter one by one
- Ex:
Enumeration<String> paramNames = actionRequest.getParameterNames();
while(paramNames.hasMoreElements()){
actionResponse.setRenderParameter(paramNames.nextElement(), actionRequest.getParameter(paramNames.nextElement()));
}
Cheers!
Henal Saraiya
(Senior Consultant)
CIGNEX Datamatics
No comments:
Post a Comment