2013-12-16 155 views
0

我对Spring MVC Portlet控制器有一些疑问。定义默认的Portlet操作方法

我想定义一个控制器,它将绘制的portlet首次,从Portlet的任何后续操作将触发相应的操作方法

@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将首次加载或不执行任何操作。

回答

1

尝试把@ActionMapping而不是@ActionMapping("").

0

第一时间显示在portlet中,仅执行呈现阶段,而不是行动阶段。所以我想你应该照顾你在渲染阶段的默认行为,并删除你的默认操作方法(fetchSearchDetails)。

相关问题