<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    唯美古典
    Java入門,Struts,Hibernate,Spring,Groovy,Grails
    posts - 7,comments - 10,trackbacks - 0

    1、MyEclipse下建立一個(gè)web應(yīng)用

    2、導(dǎo)包

    從解壓后的 spring 文件夾中尋找 jstl.jarstandard.jarspring.jarspring-webmvc.jarspring-webmvc-portlet.jarcommons-logging.jar拷貝到 WEB-INF/lib 目錄下。

    3、編輯web.xml

    web.xml文件中添加以下代碼:

    <!-- 設(shè)定Spring的根上下文 -->

        <context-param>

           <param-name>contextConfigLocation</param-name>

           <param-value>/WEB-INF/applicationContext.xml</param-value>

        </context-param>

        <listener>

           <listener-class>

               org.springframework.web.context.ContextLoaderListener

           </listener-class>

        </listener>

        <!-- 設(shè)定ViewRendererServlet -->

        <servlet>

           <servlet-name>ViewRendererServlet</servlet-name>

           <servlet-class>

               org.springframework.web.servlet.ViewRendererServlet

           </servlet-class>

           <load-on-startup>1</load-on-startup>

        </servlet>

        <servlet-mapping>

           <servlet-name>ViewRendererServlet</servlet-name>

           <url-pattern>/WEB-INF/servlet/view</url-pattern>

        </servlet-mapping>

       

        <!-- 設(shè)定加載一個(gè)PortletServlet, 該配置為Pluto所需-->

        <servlet>

           <servlet-name>SpringTestPortlet1</servlet-name>

           <servlet-class>

               org.apache.pluto.container.driver.PortletServlet

           </servlet-class>

           <init-param>

               <param-name>portlet-name</param-name>

               <param-value>SpringTestPortlet1</param-value>

           </init-param>

           <load-on-startup>1</load-on-startup>

        </servlet>

        <servlet-mapping>

           <servlet-name>SpringTestPortlet1</servlet-name>

           <url-pattern>/PlutoInvoker/SpringTestPortlet1</url-pattern>

        </servlet-mapping>

     <jsp-config>

           <taglib>

               <taglib-uri>http://portals.apache.org/pluto</taglib-uri>

               <taglib-location>/WEB-INF/tld/pluto.tld</taglib-location>

           </taglib>

        </jsp-config>

    4、編輯Portlet.xml文件

     

    <?xml version="1.0" encoding="UTF-8"?>

    <portlet-app

        xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"

        version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd

                            http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">

        <portlet>

           <portlet-name>SpringTestPortlet1</portlet-name>

           <display-name>SpringTestPortlet1</display-name>

           <portlet-class>

               org.springframework.web.portlet.DispatcherPortlet

           </portlet-class>

           <init-param>

               <name>contextConfigLocation</name>

               <value>/WEB-INF/springtest-portlet1.xml</value>

           </init-param>

           <supports>

               <mime-type>text/html</mime-type>

               <portlet-mode>view</portlet-mode>

               <portlet-mode>edit</portlet-mode>

               <portlet-mode>help</portlet-mode>

           </supports>

           <portlet-info>

               <title>SpringTestPortlet1</title>

           </portlet-info>

        </portlet>

    </portlet-app>

    5、編寫相應(yīng)的Java POJO類、jsp文件、Spring配置文件

    Pojo類在此不再敷述,jsp文件中的開始標(biāo)簽部分如下:

     

    <%@ page import="javax.portlet.*" contentType="text/html; charset=utf-8" %>

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

    <%@ taglib prefix="portlet" uri="http://java.sun.com/portlet"%>

    <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>

    <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>

    <portlet:actionURL var="actionURL" />

     

    WEB-INF 下新建 applicationContext.xml 文件,內(nèi)容如下

     

    <?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.xsd">

        <!-- Default View Resolver -->

        <bean id="viewResolver"

           class="org.springframework.web.servlet.view.InternalResourceViewResolver">

           <property name="viewClass"

               value="org.springframework.web.servlet.view.JstlView" />

           <property name="prefix" value="/WEB-INF/jsp/" />

           <property name="suffix" value=".jsp" />

        </bean>

        <!-- Default ExceptionHandler -->

        <bean id="defaultExceptionHandler"

            class="org.springframework.web.portlet.handler.SimpleMappingExceptionResolver">

           <property name="order" value="10" />

           <property name="defaultErrorView" value="error" />

           <property name="exceptionMappings">

               <props>

                  <prop key="javax.portlet.UnavailableException">

                      unavailable

                  </prop>

                  <prop key="java.lang.Exception">error</prop>

               </props>

           </property>

        </bean>

    </beans>

     

     

    該配置文件中,定義了兩個(gè) Bean。其中第一個(gè) Bean 定義了視圖的默認(rèn)解析方式,使用 JSP 作為視圖(View),到 /WEB-INF/jsp/ 目錄下尋找 Jsp 文件,并且視圖名稱為 jsp 文件名的前綴。

    在第二個(gè) Bean 中,定義了異常處理方式。如果發(fā)生 javax.portlet.UnavailableException 異常,則呈現(xiàn) unavailable 視圖,即 unavailable.jsp 文件;如果發(fā)生其它的 java.lang.Exception 異常,則呈現(xiàn) error 視圖,即 error.jsp 文件。

    WEB-INF 下新建 PortletSpringTestPortlet1 Spring 上下文配置文件 springtest-portlet1.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.xsd">

        <bean

            class="org.springframework.web.portlet.handler.PortletModeHandlerMapping">

           <property name="portletModeMap">

               <map>

                  <entry key="view" value-ref="viewController" />

               </map>

           </property>

        </bean>

        <bean id="viewController"

           class="org.springframework.web.portlet.mvc.SimpleFormController">

           <property name="commandClass"

               value="springportal.command.AddressBook" />

           <property name="commandName" value="addressBook" />

           <property name="formView" value="addressInput" />

           <property name="successView" value="result" />

        </bean>

    </beans>

     

     

    該上下文根據(jù) Portlet 模式分配控制器,由 Bean 定義可知,僅僅定義了 view 模式的控制器,edit help 模式都沒有進(jìn)行定義。

    View 模式的控制器 viewController 中,定義了 commandClass commandName 來保存用戶輸入的表單數(shù)據(jù),addressInput 視圖(addressInput.jsp)為輸入表單,result 視圖(result.jsp)呈現(xiàn)表單提交結(jié)果。

     

    6、遇到的問題

    java.lang.ClassCastException:org.springframework.web.servlet.support.JstlUtils$SpringLocalizationContext

    I had the same issue with Pluto current bundle distribution 1.1.6. The ClassCastException is actually from Pluto's default theme jsp. It's trying to cast a org/springframework/web/servlet/support/JstlUtils$SpringLocalizationContext into a java/lang/String . This is due to that the JSTL implementation doesn't recognize SpringLocalizationContext as a LocalizationContext instance though SpringLocalizationContext surely implements the interface. The root cause is that two classes are loaded from different classloader thus the instanceof check failed.

    Solution: move the jstl-1.0.6.jar and standard-1.0.6.jar under pluto-1.1.6"webapps"pluto"WEB-INF"lib into pluto-1.1.6"shared"lib 

    Note: do not include these 2 jar files in your portlet application (war file).

    ——引自http://forum.springsource.org/showthread.php?t=57816

    解決方法:將pluto-2.0"webapps"pluto"WEB-INF"lib下的jstl.jarstandard.jar移動(dòng)到pluto-2.0"lib目錄下


    源碼下載地址:點(diǎn)擊下載



    唯美古典的工作室
    posted on 2010-01-14 15:37 唯美古典 閱讀(4163) 評(píng)論(0)  編輯  收藏 所屬分類: SSH整合

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 四虎影视在线永久免费看黄 | 影音先锋在线免费观看| 亚洲理论电影在线观看| 猫咪www免费人成网站| 免费人成激情视频| 一级毛片视频免费观看| 亚洲国产成人影院播放| 草久免费在线观看网站| 狠狠亚洲婷婷综合色香五月排名| 一个人看www免费高清字幕| 国产亚洲精午夜久久久久久| 精品人妻系列无码人妻免费视频 | 亚洲精品福利视频| 精品无码国产污污污免费网站| 亚洲日产2021三区| 成年人网站在线免费观看| 精品亚洲视频在线| 国产亚洲精品线观看动态图| 小草在线看片免费人成视久网| 亚洲小视频在线播放| 免费无码又爽又刺激毛片| g0g0人体全免费高清大胆视频| 亚洲国产第一站精品蜜芽| 国国内清清草原免费视频99| 亚洲av乱码中文一区二区三区| 曰韩亚洲av人人夜夜澡人人爽| 无码日韩精品一区二区免费暖暖| 亚洲一区二区三区在线观看蜜桃| 在线观看国产情趣免费视频| 中文字幕无线码免费人妻| 亚洲成人一级电影| 国产乱子伦精品免费无码专区 | 成年在线网站免费观看无广告| 免费一级毛片在线播放视频免费观看永久| 久久久久亚洲精品天堂久久久久久| 久久er国产精品免费观看2| 亚洲mv国产精品mv日本mv| 又大又硬又爽免费视频| 四虎国产成人永久精品免费| 亚洲乱亚洲乱妇24p| 亚洲欧洲成人精品香蕉网|