Liferay 6.1开发学习:基于注解的SpringMVC portlet开发

转自: http://www.huqiwen.com/2013/01/10/liferay-6-1-development-study-17-springmvc-portlet/

SpringMVC使用起来是简单易懂,方便快捷。springmvc 在很早之前就开始提供对于JSR168的支持,同样的liferay的这个portal是实现了JSR 168和JSR268规范的,理论只要是提供对JSR 168或JSR268规范支持的MVC框架都可以用来开发Liferay portlet,像Struts1/struts2/SpringMVC等。

对于SpringMVC在portlet中的使用,在Spring的官方文档中已经有说了详细的说明(在spring-framework-reference中的19章。),这里参考官方文档进行配置。

环境准备

Liferay版本:6.1.1 CE版本

Spring版本:3.2.0 GA

Liferay IDE: 1.6.1

开发步骤

一、导入SpringMVC portlet所需要的jar包。

  • spring-beans-3.2.0.RELEASE.jar
  • spring-context-3.2.0.RELEASE.jar
  • spring-core-3.2.0.RELEASE.jar
  • spring-expression-3.2.0.RELEASE.jar
  • spring-web-3.2.0.RELEASE.jar
  • spring-webmvc-3.2.0.RELEASE.jar
  • spring-webmvc-portlet-3.2.0.RELEASE.jar

二、新建一个Portlet插件开发的工程,可以使用Liferay IDE中的portlet创建向导建立一个普通的插件工程。

三、修改web.xml,在里面添加如下内容:

@Controller  

@RequestMapping(value = "VIEW")   


public class SpringPortlet {   

       

    @RenderMapping  


    public String view(Model model){   


        model.addAttribute("username", "huqiwen");   


        return "view";   

    }   
       

    @RenderMapping(params = "action=edit")   


    public String edit(Model model){   


        model.addAttribute("edit", "action=edit");   


        return "edit";   

    }   
}   

说明:

@RequestMapping中的VIEW,代表当前的是portlet的VIEW模式,如果是EDIT模式,则将这里的VIEW换成edit即可。

@RenderMapping 默认对应的是portlet进入的时候执行的方法。

@RenderMapping(params = "action=edit")   这个请求的是对应于用户在页面中的请求,如JSP中有如下的portlet请求,则会进入到这个方法里面,这里param name可以自定义,不一定叫action,可以叫cmd,op等均可

<portlet:renderURL var="edit">   

    <portlet:param name="action" value="edit"/>   

</portlet:renderURL>  

一个简单的SpringMVC portlt示例下载:点击我

相关推荐