2010-04-09 2 views
0

Я стараюсь, чтобы развернуть простой пружинный портлет доба (я не могу использовать плагин SDK ...) на Liferay 5.2.3Развертывание простого Spring MVC портлета для Liferay 5.2.3

Моего портлет:

доб-осущ/ЦСИ:

пакет: com.ext.portlet.springmvc

HelloWorldController.java

package com.ext.portlet.springmvc; 

import java.io.IOException; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import org.springframework.web.servlet.ModelAndView; 
import org.springframework.web.servlet.mvc.Controller; 

public class HelloWorldController implements Controller { 

    public ModelAndView handleRequest(HttpServletRequest request, 
     HttpServletResponse response) throws ServletException, IOException { 

     String aMessage = "Hello World MVC!"; 
     ModelAndView modelAndView = new ModelAndView("hello_world"); 
     modelAndView.addObject("message", aMessage); 

     return modelAndView; 
    } 
} 

внутр Пб:

  • jstr.jar
  • пружинно-webmvc.jar
  • пружинно-webmvc-portlet.jar
  • spring.jar
  • standard.jar

ext-web/docroot/html/portlet/ext/springmvc/hello_world.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<html> 
<body> 
    <p>This is my message: ${message}</p> 
</body> 
</html> 

доб-веб/DOCROOT/HTML/портлет/внутр/SpringMVC/index.jsp

<html> 
    <body> 
     <p>Hi</p> 
    </body> 
</html> 

доб-веб/DOCROOT/WEB-INF/SpringMVC-servlet.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> 

    <bean name="/hello_world.html" class="com.ext.portlet.springmvc.HelloWorldController"/> 

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> 
     <property name="prefix" value="/jsp/"/> 
     <property name="suffix" value=".jsp"/> 
    </bean> 

</beans> 

доб -web/DOCROOT/WEB-INF/портлет-ext.xml

<portlet> 
    <portlet-name>springmvc</portlet-name> 
    <portlet-class>org.springframework.web.portlet.DispatcherPortlet</portlet-class> 
    <supports> 
     <mime-type>text/html</mime-type> 
     <portlet-mode>view</portlet-mode> 
    </supports> 
    <portlet-info> 
     <title>Simple JSP Portlet</title> 
    </portlet-info> 
    <security-role-ref> 
     <role-name>power-user</role-name> 
    </security-role-ref> 
    <security-role-ref> 
     <role-name>user</role-name> 
    </security-role-ref> 
</portlet> 

доб-Web/DOCROOT/WEB-INF/web.xml

<?xml version="1.0"?> 
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> 

    <servlet> 
     <servlet-name>springmvc</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>springmvc</servlet-name> 
     <url-pattern>*.html</url-pattern> 
    </servlet-mapping> 

    <welcome-file-list> 
     <welcome-file> 
      jsp/index.jsp 
     </welcome-file> 
    </welcome-file-list> 
</web-app> 

Есть ли ошибки?

Я получаю эту ошибку, когда я пытаюсь развернуть:

Website OC4J 10g (10.1.3) Default Web Site definiert ist. Error creating bean w 
ith name 'com.liferay.portal.kernel.captcha.CaptchaUtil' defined in class path r 
esource [META-INF/util-spring.xml]: Cannot create inner bean 'com.liferay.portal 
.captcha.CaptchaImpl#1424b7b' of type [com.liferay.portal.captcha.CaptchaImpl] w 
hile setting bean property 'captcha'; nested exception is org.springframework.be 
ans.factory.BeanCreationException: Error creating bean with name 'com.liferay.po 
rtal.captcha.CaptchaImpl#1424b7b' defined in class path resource [META-INF/util- 
spring.xml]: Instantiation of bean failed; nested exception is org.springframewo 
rk.beans.BeanInstantiationException: Could not instantiate bean class [com.lifer 
ay.portal.captcha.CaptchaImpl]: Constructor threw exception; nested exception is 
java.lang.NullPointerException 

Надежда кто-нибудь может мне помочь ...

ответ

1

Вы используете неправильный аромат Spring MVC здесь. Вы говорите с сервлет-API в своем коде, но вы должны разговаривать с API-интерфейсом Portlet. К счастью, весна имеет специализированную версию весеннего mvc, называемую весенним портлетом mvc.

Чтобы получить чувство для него, прочитать: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/portlet.html

0

Checkout this blog- How to setup Liferay+SpringMVC?

Вы найдете, как настроить портлет Liferay + SpringMVC.

+0

Если ссылка не работает, не могли бы вы расширить свой ответ, чтобы включить информацию о том, как это сделать? –

+0

Привет, Крис, я попытаюсь создать отдельный пост, чтобы настроить портлет Liferay + SpringMVC на stackoverflow.Here я не могу добавить весь код. Но для уточнения я могу сказать, что для настройки портлета SpringMVC вам нужно всего лишь внести несколько изменений в вашем текущем портлете. Вам нужно изменить свой web.xml, добавить новый portletName-portlet.xml (которые состоят из деталей компонента и просмотра разрешения) и последнего изменения в файле portlet.xml. – PanwarS87

+0

Кроме того, вам не нужно загружать любые банки из любого места. Вы можете просто добавить их из liferay-war с помощью liferay-plugin-package.properties. Это довольно просто. Для получения дополнительной информации посетите: http://www.shashantpanwar.com – PanwarS87

Смежные вопросы