java - 定义默认 Portlet 操作方法

标签 java spring portlet spring-portlet-mvc

我对 Spring MVC Portlet Controller 有一些疑问。

我想定义一个 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("")。

关于java - 定义默认 Portlet 操作方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20604059/

相关文章:

oracle - JSF Faces Bridge 在部署到 oc4j 容器时得到 java.lang.NullPointerException

java - 如何用Java实现HashMap数据结构?

java - 设置套接字本地端口会引发异常

java - java8中如何在LocalDateTime、ZonedDateTime等类中选择Date/Time类?

java - JSON 解析花费太多时间 - Android

java - 在 Spring Security 中以编程方式设置登录 URL

java - 从 Java 启动 Spring 应用程序的异常

java - Spring 框架 4.0 和 Spring security 3.2.4 上的 Spring Security SAML 扩展

java - Liferay 6.2 上 Spring MVC 表单中的 Portlet 命名空间

header - liferay 中 header-portlet-javascript 的可配置值