0

Spring MVC Portlet Controller について疑問があります。

初めてポートレットを描画するコントローラーを定義したいと思います。ポートレットからの後続のアクションは、それぞれのアクション メソッドをトリガーします。

@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
    }

}

ポートレットが初めてロードされる場合、またはアクションがない場合に、デフォルトのアクション メソッドを宣言/呼び出すにはどうすればよいですか。

4

2 に答える 2

1

@ActionMappingではなく入れてみてください@ActionMapping("").

于 2013-12-16T18:19:07.283 に答える
0

ポートレットが初めて表示されるときは、アクション フェーズではなく、レンダリング フェーズのみが実行されます。したがって、レンダリング段階でのデフォルトの動作に注意し、デフォルトのアクション メソッド (fetchSearchDetails) を削除する必要があると思います。

于 2013-12-16T20:55:41.577 に答える