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

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

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

    隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
    數(shù)據(jù)加載中……

    Struts 2雜談(2):如何向標簽文件中的Struts 2標簽傳遞參數(shù)值

    本文為原創(chuàng),如需轉載,請注明作者和出處,謝謝!

    上一篇:Struts 2雜談(1):ValueStack對象的傳送帶機制

        標簽文件是JSP自定義標簽中的一種,實現(xiàn)的方法在WEB-INF\tags目錄或子目錄中建立一個.tag文件,如table.tag,并通過taglib指令來引用.tag文件所在的目錄,代碼如下:

    <%@ taglib prefix="t" tagdir="/WEB-INF/tags"%>

        如果在標簽文件中使用Struts 2標簽,就會帶來一個問題。下面先看一個例子。

        在WEB-INF\tags目錄中建立一個table.tag文件,代碼如下:

    <%@ taglib prefix="s" uri="/struts-tags"%>
    <%@ attribute name="index" type="java.lang.String" required="true" %>
    <table border="1" style="font-size:25px">   
        
    <s:iterator var="row" value="${index}">
            
    <tr>
                
    <s:iterator var="cell" value="row"> 
                    
    <td> 
                        
    <s:property value="cell" />
                    
    </td>
            
    </s:iterator>
            
    </tr>
        
    </s:iterator>
    </table>

        在上面的標簽文件中使用了<s:iterator>和<s:property>標簽,<s:iterator>標簽的value屬性值使用了EL,這在低版本的Struts 2中是沒有任何問題的,但在Struts 2.0.11及以后的版本中默認情況下并不能在Struts 2屬性值中使用EL和JSP表達式(也就是說,rtexprvalue參數(shù)默認值是false),而只能使用Ognl表達式,而在這種情況下,上面的代碼是無法正常執(zhí)行的。一種解決方法是將Struts 2的發(fā)行包中相應標簽的某個屬性的rtexprvalue參數(shù)值設為true,但這種方法并不通用,因為它直接修改了Struts 2。
        另外一種方法是通過<s:set>標簽將相應的值保存在ValueStack對象中,再使用Ognl表達式來讀取。使用這種方法可以將上面的代碼修改為如下的形式:

    <%@ taglib prefix="s" uri="/struts-tags"%>
    <table border="1" style="font-size:25px"> 
        
    <!--  使用Ognl表達式引用index  -->  
        
    <s:iterator var="row" value="index">
            
    <tr>
                
    <s:iterator var="cell" value="row"> 
                    
    <td> 
                        
    <s:property value="cell" />
                    
    </td>
            
    </s:iterator>
            
    </tr>
        
    </s:iterator>
    </table>

        下面的代碼調用了table標簽文件,并傳遞了index參數(shù)值:

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ taglib prefix="t" tagdir="/WEB-INF/tags"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>

    <!--  index參數(shù)值為grid1  -->
    <s:set var="index" value="grid1" /> 
    <t:table/> 

    <!--  index參數(shù)值為grid2  -->
    <s:set var="index" value="grid2" /> 
    <t:table/>

        哪位讀者還有其他的方法傳遞index參數(shù)值(不能直接修改Struts2發(fā)行包,不使用請求參數(shù)),請跟貼!   





    Android開發(fā)完全講義(第2版)(本書版權已輸出到臺灣)

    http://product.dangdang.com/product.aspx?product_id=22741502



    Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


    新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

    posted on 2009-02-26 19:51 銀河使者 閱讀(4477) 評論(2)  編輯  收藏 所屬分類: Struts2 、web 原創(chuàng)

    評論

    # re: Struts 2雜談(2):如何向標簽文件中的Struts 2標簽傳遞參數(shù)值  回復  更多評論   

    index參數(shù)值是什么?謝謝
    2010-09-06 17:12 | Raphael

    # re: Struts 2雜談(2):如何向標簽文件中的Struts 2標簽傳遞參數(shù)值  回復  更多評論   

    有進一步的了解Thankyou?。?!
    2010-12-26 14:01 | Jocson
    主站蜘蛛池模板: 亚洲一区二区高清| 久久亚洲精品成人AV| 免费无码H肉动漫在线观看麻豆| 亚洲国产精品免费视频| 美女视频黄的全免费视频网站| 无码天堂va亚洲va在线va| 久久99国产亚洲高清观看首页| 无码少妇一区二区浪潮免费| 无码毛片一区二区三区视频免费播放| 久久精品国产亚洲麻豆| 四虎www免费人成| a毛片久久免费观看| 亚洲午夜理论片在线观看| 国产aⅴ无码专区亚洲av麻豆 | 久久A级毛片免费观看| 亚洲三级高清免费| 亚洲午夜未满十八勿入网站2| 无码国产精品一区二区免费| selaoban在线视频免费精品| 亚洲AV成人无码天堂| 中文字幕人成人乱码亚洲电影 | 美女隐私免费视频看| 亚洲综合久久1区2区3区| 亚洲男人第一无码aⅴ网站| 免费看h片的网站| 国产一级一毛免费黄片| 亚洲精品二三区伊人久久| 国产亚洲精品精华液| 四虎永久免费地址在线网站| 4hu四虎最新免费地址| 国产在线播放线91免费| 自拍偷自拍亚洲精品偷一| 亚洲成人网在线播放| 国产亚洲AV无码AV男人的天堂| 国产中文字幕免费| 丁香花在线观看免费观看| 国产免费AV片在线观看| 本道天堂成在人线av无码免费| 亚洲第一第二第三第四第五第六| 亚洲成人福利网站| 亚洲蜜芽在线精品一区|