Java Liferay:在一个Liferay插件项目中配置多个Spring MVC Portlet
我正在liferay中开发基于SpringMVC的portlet。基本上,我希望在单个liferay项目中配置和维护2或3个Portlet。能否有人指导我进行同样的配置。类似于portlet.xml、spring配置和web配置(如果需要)的配置代码。我只需要为我的所有Portlet分别配置一个默认控制器,这样每个Portlet将在不同的登录页中登录 有人知道如何配置这些portlet吗?任何建议都会有帮助:DJava Liferay:在一个Liferay插件项目中配置多个Spring MVC Portlet,java,spring-mvc,liferay-6,spring-portlet-mvc,Java,Spring Mvc,Liferay 6,Spring Portlet Mvc,我正在liferay中开发基于SpringMVC的portlet。基本上,我希望在单个liferay项目中配置和维护2或3个Portlet。能否有人指导我进行同样的配置。类似于portlet.xml、spring配置和web配置(如果需要)的配置代码。我只需要为我的所有Portlet分别配置一个默认控制器,这样每个Portlet将在不同的登录页中登录 有人知道如何配置这些portlet吗?任何建议都会有帮助:D 提前感谢。是的,可以在一个插件项目中配置多个spring Portlet,使单个.w
提前感谢。是的,可以在一个插件项目中配置多个spring Portlet,使单个.war文件包含多个Portlet 在web.xml中
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>view-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>view-servlet</servlet-name>
<url-pattern>/WEB-INF/servlet/view</url-pattern>
</servlet-mapping>
上下文配置位置
类路径:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
视图servlet
org.springframework.web.servlet.viewRenderServlet
1.
视图servlet
/WEB-INF/servlet/view
在applicationContext.xml中
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>view-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>view-servlet</servlet-name>
<url-pattern>/WEB-INF/servlet/view</url-pattern>
</servlet-mapping>
您可以在这里为所有portlet指定公共bean配置
<context:annotation-config />
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="cache" value="false"/>
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/jsp/"/>
<property name="suffix" value=".jsp"/>
<property name="contentType" value="text/html; charset=UTF-8" />
</bean>
在portlet.xml中
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>view-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>view-servlet</servlet-name>
<url-pattern>/WEB-INF/servlet/view</url-pattern>
</servlet-mapping>
您可以在此文件中指定的多个条目。对于SpringPortlet,您应该指定和,如下所示
<portlet-class>org.springframework.web.portlet.DispatcherPortlet</portlet-class>
<init-param>
<name>contextConfigLocation</name>
<value>classpath:myportlet-context.xml</value>
</init-param>
org.springframework.web.portlet.DispatcherPortlet
上下文配置位置
类路径:myportlet-context.xml
在myportlet context.xml中
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>view-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>view-servlet</servlet-name>
<url-pattern>/WEB-INF/servlet/view</url-pattern>
</servlet-mapping>
将您的portlet控制器类放在my.portlet.package中,并在此文件中指定它
在liferayportlet.xml中
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>view-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>view-servlet</servlet-name>
<url-pattern>/WEB-INF/servlet/view</url-pattern>
</servlet-mapping>
甚至这个文件也包含多个标记
在portlet控制器类中
添加注释以指定控制器并使用portlet模式进行映射。您可以在这里看到spring文档中提供的各种其他映射
@控制器
@RequestMapping(值=PortletModeVal.VIEW)
公共类MyPortletControll实现PortletConfigAware
是的,可以在一个插件项目中配置多个spring Portlet,使单个.war文件包含多个Portlet 在web.xml中
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>view-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>view-servlet</servlet-name>
<url-pattern>/WEB-INF/servlet/view</url-pattern>
</servlet-mapping>
上下文配置位置
类路径:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
视图servlet
org.springframework.web.servlet.viewRenderServlet
1.
视图servlet
/WEB-INF/servlet/view
在applicationContext.xml中
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>view-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>view-servlet</servlet-name>
<url-pattern>/WEB-INF/servlet/view</url-pattern>
</servlet-mapping>
您可以在这里为所有portlet指定公共bean配置
<context:annotation-config />
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="cache" value="false"/>
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/jsp/"/>
<property name="suffix" value=".jsp"/>
<property name="contentType" value="text/html; charset=UTF-8" />
</bean>
在portlet.xml中
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>view-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>view-servlet</servlet-name>
<url-pattern>/WEB-INF/servlet/view</url-pattern>
</servlet-mapping>
您可以在此文件中指定的多个条目。对于SpringPortlet,您应该指定和,如下所示
<portlet-class>org.springframework.web.portlet.DispatcherPortlet</portlet-class>
<init-param>
<name>contextConfigLocation</name>
<value>classpath:myportlet-context.xml</value>
</init-param>
org.springframework.web.portlet.DispatcherPortlet
上下文配置位置
类路径:myportlet-context.xml
在myportlet context.xml中
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>view-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>view-servlet</servlet-name>
<url-pattern>/WEB-INF/servlet/view</url-pattern>
</servlet-mapping>
将您的portlet控制器类放在my.portlet.package中,并在此文件中指定它
在liferayportlet.xml中
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>view-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>view-servlet</servlet-name>
<url-pattern>/WEB-INF/servlet/view</url-pattern>
</servlet-mapping>
甚至这个文件也包含多个标记
在portlet控制器类中
添加注释以指定控制器并使用portlet模式进行映射。您可以在这里看到spring文档中提供的各种其他映射
@控制器
@RequestMapping(值=PortletModeVal.VIEW)
公共类MyPortletControll实现PortletConfigAware
伟大的很高兴知道这有帮助,太好了。很高兴知道这有帮助。