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

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

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

    ∪∩deniable Design

    個人JAVA版GAE(google app engine),struts2+jpa+jQuery開發,互相交流 http://iunbug.appspot.com/
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    關于Struts 2.0.11與表達式

    Posted on 2008-08-15 21:43 ∪∩BUG 閱讀(434) 評論(0)  編輯  收藏 所屬分類: Struts2學習筆記

     

     1Struts 筆記
     22008 08 15
     3當你使用struts 2 tags時,如果使用代碼:
     4<s:set name="name" value="<%= "'" + request.getParameter("name") + "'" %>" />
     5或者
     6
     7<s:set name="name"value="${param.name}" />
     8都會發生下列錯誤:
     9According to TLD or attribute directive in tag file, attributevalue does not accept any expressions
    10而得使用:
    11<s:set name="name" value="#parameters.name[0]" />
    12才行
    13原因可能是因為你使用了<%..%>代碼 or JSP EL表達式。Struts 2從 version2.0.11開始已經不支持strutstag與JSP EL表達式混合使用了(不在struts tag里使用EL還是可以的)
    14
    15
    16技巧(Trick Tip):
    17對于<s:property>,是使用
    18<s:property value="#parameters.name"/>
    19而對于<s:set>,則要使用(否則出錯):
    20<s:set name="name" value="#parameters.name[0]" />
    21
    22但是如果使用struts include tag來傳參數,則<s:property><s:set>無法獲取傳來的參數,如:
    23<body>
    24<s:include value= "/welcome.jsp">
    25<s:param name="name">Scott</s:param>
    26</s:include>
    27</body>
    28那么在webcome.jsp里通過<s:property><s:set>無法獲取"name"參數:
    29<s:property value="#parameters.name" />
    30<s:set name="name"value="#parameters.name[0]" />
    31而只能夠用
    32<%request.getParameter("name")%>
    33來獲取
    34
    35例如:
    36<%@ page contentType="text/html; charset=UTF-8"%>
    37<%@ taglib prefix="s" uri="/struts-tags"%>
    38<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    39<html>
    40    <head>
    41        <title>Condition Flow</title>
    42    </head>
    43    <body>
    44        <h3>
    45            Condition Flow
    46        </h3>
    47
    48        <!-- 注意"'" + request.getParameter("name") + "'"這里的單引號 -->
    49        <!-- s:if test="#name == 'Max'" 判斷取出name的值是否與Max相等,#表示取出值 -->
    50        <s:set name="name"
    51            value="#parameters.name[0]" />
    52
    53        <s:if test="#name == 'Max'">
    54            Max's file here
    55        </s:if>
    56        <s:elseif test="#name == 'Scott'">
    57            Scott's file here
    58        </s:elseif>
    59        <s:else>
    60            Other's file here
    61        </s:else>
    62    </body>
    63</html>
    64<!--
    65            這里有點小技巧:
    66            本來可以用#parameters.name[0]來獲得,請求中name的值。但是,在我實現include例子時,
    67            無論我用param標志給name賦任何值,#parameters里面不會含有任何值,所以#parameters.name也為空值。
    68            
    69            其原因為:
    70            當使用include標志時,被包含的頁面(included)里#parameters拿到的是包含頁面里的請求參數。
    71            
    72            因此,這里必須手工調用request.getParameter("name")。        
    73-->
    74
    主站蜘蛛池模板: 一级女性全黄久久生活片免费 | 无人在线观看完整免费版视频| 亚洲AV色吊丝无码| 好吊妞998视频免费观看在线| 男女一边摸一边做爽的免费视频| 久久久久久久久亚洲| 国产一级淫片视频免费看| 七色永久性tv网站免费看| 瑟瑟网站免费网站入口| 亚洲日韩亚洲另类激情文学| 亚洲成AV人片一区二区| 国产成人精品免费直播 | 亚洲国产精久久久久久久| 精品免费国产一区二区三区| 国产成人精品无码免费看| 国产裸体美女永久免费无遮挡| 国产亚洲漂亮白嫩美女在线| 亚洲日日做天天做日日谢| 亚洲网站在线播放| 亚洲黄色免费电影| 亚洲综合久久久久久中文字幕| 亚洲AV永久无码精品成人| 亚洲不卡av不卡一区二区| 亚洲精品国偷自产在线| 亚洲精品免费观看| 亚洲精品无码久久久久久久| 亚洲图片中文字幕| 亚洲AV综合色区无码二区爱AV| 亚洲色图激情文学| 老妇激情毛片免费| 在线视频网址免费播放| 99re在线这里只有精品免费| 99久久免费国产精品特黄| 成人免费视频国产| 国外亚洲成AV人片在线观看 | 久久免费观看国产精品| 18级成人毛片免费观看| 国产精品jizz在线观看免费| 国产精品亚洲玖玖玖在线观看 | 亚洲人成电影网站免费| 亚洲免费日韩无码系列|