簡體   English   中英

定義默認的Portlet Action方法

[英]Defining default Portlet Action method

我對Spring MVC Portlet Controller有疑問。

我想定義一個控制器,該控制器將首次繪制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是第一次加載或沒有任何動作,如何聲明/調用默認的Action方法。

嘗試放置@ActionMapping而不是@ActionMapping("").

第一次顯示portlet時,僅執行渲染階段,而不執行操作階段。 因此,我想您應該在呈現階段照顧默認行為,並刪除默認操作方法(fetchSearchDetails)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM