Java 定义默认Portlet操作方法
我对SpringMVCPortlet控制器有一些疑问 我想定义一个控制器,它将第一次绘制portlet,来自portlet的任何后续操作都将触发相应的操作方法Java 定义默认Portlet操作方法,java,spring,portlet,spring-portlet-mvc,Java,Spring,Portlet,Spring Portlet Mvc,我对SpringMVCPortlet控制器有一些疑问 我想定义一个控制器,它将第一次绘制portlet,来自portlet的任何后续操作都将触发相应的操作方法 @Controller("searchController") @RequestMapping("VIEW") public class SearchController { @RenderMapping public String showSearch(RenderRequest request, Locale loc
@Controller("searchController")
@RequestMapping("VIEW")
public class SearchController {
@RenderMapping
public String showSearch(RenderRequest request, Locale locale, Model model) {
logger.info("Loading the Search Bar");
return "search";
}
@ActionMapping("") //default action that should be executed for first time
public void fetchSearchDetails(ActionRequest request, ActionResponse response, SessionStatus sessionStatus) {
logger.info("Searching the Refinement");
}
@ActionMapping("searchAction")
public void searchProduct(@Valid @ModelAttribute(value = "product") Product product, BindingResult bindingResult,
ActionRequest request, ActionResponse response, SessionStatus sessionStatus) {
//execute if actionURL is searchAction
}
}
如果portlet是第一次加载或没有操作,我如何声明/调用默认操作方法。尝试放置
@ActionMapping
而不是@ActionMapping(“”)。
第一次显示portlet时,只执行呈现阶段,而不是操作阶段。因此,我想您应该注意渲染阶段的默认行为,并删除默认操作方法(fetchSearchDetails)