每日一得

          不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速開發
          最近關心的內容:SSH,seam,flex,敏捷,TDD
          本站的官方站點是:顛覆軟件

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            220 隨筆 :: 9 文章 :: 421 評論 :: 0 Trackbacks
          key words: jsp,jstl,1.0,1.1,fn函數

          原來一直用struts,最近項目里有人用jstl,我也就順便拿來用,感覺還是不錯。

          過程中碰到一些小的問題總結如下:

          一。版本問題
          jstl存在1.0和1.1的差異問題,用EL建議需要在1.1的版本下,1.1的URI的標志為:
          <%@?taglib?uri="http://java.sun.com/jsp/jstl/core"?prefix="c"%>
          <%@?taglib?uri="http://java.sun.com/jsp/jstl/functions"?prefix="fn"%>

          注意,1.0版本沒有/jsp/.

          如果用的1.0會出現如下異常
          org.apache.jasper.JasperException:?/public/left_tree.jsp(100,24)?According?to?TLD?or?attribute?directive?in?tag?file,?attribute?items?does?not?accept?any?expressions
          ????org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:
          510)
          ????org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:
          375)
          ????org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
          314)
          ????org.apache.jasper.servlet.JspServlet.service(JspServlet.java:
          264)
          ????javax.servlet.http.HttpServlet.service(HttpServlet.java:
          802)
          ????org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:
          75)
          ????org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:
          77)
          ????com.wellsoon.zfzw.webapp.common.VabAccessFilter.doFilter(VabAccessFilter.java:
          43)


          root?cause?



          二。打開EL

          <%@?page?contentType="text/html;charset=gb2312"?language="java"?isELIgnored="false"?%>

          前提是容器支持2.0,即使支持默認也未必打開,最安全的方式就是顯示打開 isELIgnored="false"

          三.fn的用法
          對于Vo里的一個List作length的計算或判斷很方便
          <table?width="160"?border="0"?cellspacing="0"?cellpadding="4">
          ????????????????????????
          <c:forEach?items="${menuInfos}"?var="m">
          ????????????????????????????
          <c:if?test="${fn:length(m.subMenus)>0}">
          ??????????????????????????
          <tr>
          ????????????????????????????
          <td>
          ????????????????????????????????
          <script?language="JavaScript">
          ??????????????????????????????????????
          var?tObj?=?new?treeClass("A1")
          ??????????????????????????????????????tObj.start();
          ?????????????????????????????????????tObj.m_start(
          "<c:out?value="${m.menuModule}"/>",0);
          ????????????????????????????????????
          <c:forEach?items="${m.subMenus}"?var="sub">
          ??????????????????????????????????????tObj.add_Sub(
          "<c:out?value="${sub.menuName}"/>","<%=path%>
          <c:out?value=
          "${sub.url}"/>","mymain");
          ????????????????????????????????????
          </c:forEach>
          ?????????????????????????????????????tObj.m_end();
          ??????????????????????????????????????tObj.end();
          ??????????????????????????????????????tObj.print();
          ?????????????????????????????????
          </script>
          ????????????????????????????
          </td>
          ????????????????????????
          </tr>
          ????????????????????????????
          </c:if>
          ????????????????????????
          </c:forEach>

          ????????????????????
          </table>
          ?
          四.tld的聲明可以在web.xml作顯式聲明也可以用http作直接URL聲明
          推薦用本地的方式.

          posted on 2006-12-11 19:21 Alex 閱讀(2807) 評論(2)  編輯  收藏 所屬分類: web技術

          評論

          # re: jstl標簽注意問題 2006-12-11 19:33 BeanSoft
          多謝分享! 最近用 Weblogic 9, 真慢啊...郁悶死了  回復  更多評論
            

          # re: jstl標簽注意問題 2007-05-16 16:29 xdy3008
          感覺跟你一樣 ,確實 C標簽還是比較實用的。

          反樸歸真的感覺還是不錯的。。  回復  更多評論
            

          主站蜘蛛池模板: 华池县| 山西省| 平利县| 都江堰市| 稻城县| 马尔康县| 杭锦后旗| 全椒县| 连江县| 观塘区| 中江县| 辽宁省| 和硕县| 临颍县| 方山县| 岑巩县| 余干县| 金秀| 偃师市| 银川市| 广德县| 从江县| 海淀区| 当涂县| 黄平县| 东城区| 康平县| 五大连池市| 正蓝旗| 武川县| 泰宁县| 奉化市| 合山市| 都江堰市| 阜新市| 兰西县| 巴马| 贵州省| 安化县| 丹东市| 石河子市|