更換了resin,結果jstl無法正常顯示


因為web container改變
導致無法正確載入web.xml相關設定
前端jstl 會無法顯示,taglib tag也出錯

之前web.xml裡的寫法

< !DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">


< web-app>
...
< taglib>
< taglib-uri>webwork< /taglib-uri>
< taglib-location>/WEB-INF/lib/webwork-nostatic-2.2.2.jar< /taglib-location>
< /taglib>
...
< /web-app>


這次resin升級,應該換成了支援Servlet2.4 以及 JSP2.0以上版本的container
web.xml中的設定要跟著更改




首先將web-app中,< web-app>標籤裡
J2EE Schema Resources 相關參數改成web-app_2_4.xsd
如以下設定

< web-app 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">



將< taglib>...< /taglib>標籤用< jsp-config>包起來
< jsp-config>
< taglib>
< taglib-uri>webwork< /taglib-uri>
< taglib-location>/WEB-INF/lib/webwork-nostatic-2.2.2.jar< /taglib-location>
< /taglib>
< /jsp-config>


web.xml裡面還有很多語法可能都會有錯誤
開啟MyEclipse中window/preferences/myeclipse/validation
勾選DTD Validator and XML Validator

在去修改web.xml,根據錯誤訊息調整tag順序,或是將沒用的tag刪除

restart server,若有問題,把WEB-INF\work 幹掉再重起應該就可以了


arrow
arrow
    全站熱搜

    babyincar 發表在 痞客邦 留言(0) 人氣()