posts - 84, comments - 54, trackbacks - 0, articles - 0
             :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          在JSP中有這樣一行代碼:

          <td class="FormContents">
          <fmt:formatDate value="${usr.userCreDate}" pattern="dd-MMM-yyyy" />
          </td>

          在WebSphere Portal6中運(yùn)行時(shí)報(bào)錯(cuò):
          Nested Exception is com.ibm.ws.jsp.JspCoreException: Unable to convert string '${usr.userCreDate}' to class java.util.Date for attribute value: java.lang.IllegalArgumentException: Property Editor not registered with the PropertyEditorManager
                   at org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager(JspRuntimeLibrary.java:
          930)
                   at com.ibm._jsp._userEnquiry._jspx_meth_fmt_formatDate_0(_userEnquiry.java:
          1624)
                   at com.ibm._jsp._userEnquiry._jspService(_userEnquiry.java:
          643)
                   at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:
          91)
                   at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          856)

           

          而該JSP在Portal 5中確定是沒(méi)問(wèn)題的。利用Google找到一個(gè)類(lèi)似的問(wèn)題,有人做了如下 的解答:

          1) Declare web.xml as Servlet 2.5.
          2) Remove all loose JSTL tld files from your classpath. Those are already included in the JSTL JAR file.
          3) Remove the TLD declarations from your web.xml. Those are already declared in the JSTL JAR's web.xml.
          4) I recommend to remove the JSTL and Standard JAR's and use JSTL 1.2 instead: jstl-1.2.jar. Just place it in the classpath (YourWebApp/WEB-INF/lib or Tomcat/lib) and declare the @taglib in your JSP to use it. Nothing more, nothing less. Do not extract the JAR and duplicate the stuff everywhere.

          再三檢查后,以上4點(diǎn)在移植過(guò)程中都已經(jīng)注意了,除了Servlet是2.4以外,但是應(yīng)該和這個(gè)沒(méi)關(guān)系。

          <?xml version="1.0" encoding="UTF-8"?>
          <web-app id="WebApp_ID" version="2.4"
              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">
          </web-app>

           

          既然原因不在這里,就只有另外想辦法,根據(jù)錯(cuò)誤信息,忽然想到盡管WEB-INF/lib中的jstl.jar沒(méi)問(wèn)題,但是是否加載到了這個(gè)jar呢。打開(kāi)EAR項(xiàng)目下的application.xml,轉(zhuǎn)到Deployment,將Classloader Mode設(shè)置為PARENT_LAST。重啟發(fā)布項(xiàng)目后,問(wèn)題解決。
          該設(shè)置的物理位置在{EAR}\META-INF\ibmconfig\cells\defaultCell\applications\defaultApp\deployments\defaultApp\deployment.xml中

          <?xml version="1.0" encoding="UTF-8"?>
          <appdeployment:Deployment xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:appdeployment="http://www.ibm.com/websphere/appserver/schemas/5.0/appdeployment.xmi" xmi:id="Deployment_1236654129452">
            
          <deployedObject xmi:type="appdeployment:ApplicationDeployment" xmi:id="ApplicationDeployment_1236654129452" startingWeight="10">
              
          <modules xmi:type="appdeployment:WebModuleDeployment" xmi:id="WebModuleDeployment_1236654129452" startingWeight="10000" uri="MyPortal_Web.war"/>
              
          <classloader xmi:id="Classloader_1236654129452" mode="PARENT_LAST"/>
            
          </deployedObject>
          </appdeployment:Deployment>

          評(píng)論

          # re: 從Websphere Portal5移植Web應(yīng)用到Websphere Portal6時(shí)fmt:formatDate報(bào)錯(cuò)的解決  回復(fù)  更多評(píng)論   

          2009-03-16 14:05 by Amber
          謝謝啦 我正好遇到這個(gè)問(wèn)題 都暈了
          主站蜘蛛池模板: 石阡县| 金坛市| 莱芜市| 务川| 榆社县| 府谷县| 中超| 增城市| 玛沁县| 樟树市| 宁都县| 株洲市| 卫辉市| 昌吉市| 天峻县| 安宁市| 梨树县| 吐鲁番市| 太和县| 铜陵市| 青铜峡市| 宕昌县| 贵阳市| 元谋县| 田东县| 曲阜市| 昔阳县| 西和县| 衡山县| 子洲县| 苏州市| 遵义市| 新乐市| 瑞安市| 炎陵县| 淮阳县| 浠水县| 光山县| 东阿县| 湘乡市| 西林县|