3
我正在使用Liferay上的Spring MVC portlets,我正在尋找一種方法將ActionRequest中的RequestParam傳遞給RenderRequest。 這是我的2功能的簽名。將@RequestParam從@ActionMapping傳遞給@RenderMapping
@ActionMapping(params="action=bookmark_fiche")
public void bookmarkFicheRef(@RequestParam long ficheId, ActionRequest request, ActionResponse response){
...
response.setRenderParameter("action", "view_fiche");
}
@RenderMapping (params="action=view_fiche")
public String showFiche(@RequestParam long ficheId, ModelMap model, RenderRequest request, RenderResponse response){
...
}
渲染功能showFiche是通過其他鏈接使用,做工精細用
<portlet:renderURL var="rowURL" >
<portlet:param name="action" value="view_fiche" />
<portlet:param name="ficheId" value="${fiche.ficheId}" />
</portlet:renderURL>
的時候,但如果我用
<portlet:actionURL var="boookmarkFicheRefURL">
<portlet:param name="action" value="bookmark_fiche" />
<portlet:param name="ficheId" value="${SEARCH_CONTAINER_RESULT_ROW.object.ficheId}" />
</portlet:actionURL>
行動階段的成功,但呈現階段失敗,錯誤:
09:24:39,132 ERROR [http-bio-8080-exec-5][render_portlet_jsp:154] org.springframework.web.portlet.bind.MissingPortletRequestParameterException: Required long parameter 'ficheId' is not present
response.setAttribute("ficheId", Long.toString(ficheId));
does'nt工作要麼...
做一種方式來傳遞param而不修改渲染方法? 感謝