<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日韩AV鸥美在线观看| 又大又黄又粗又爽的免费视频| 国产精品免费网站| 无码人妻AV免费一区二区三区| 伊人久久国产免费观看视频| 亚洲高清国产拍精品熟女| 亚洲理论片在线中文字幕| 国产精品亚洲аv无码播放| 全部免费毛片在线| 在线观看亚洲免费| 欧洲精品成人免费视频在线观看| 最近中文字幕mv免费高清在线| 无码国产精品一区二区免费模式| 久久一区二区三区免费| 深夜久久AAAAA级毛片免费看| 亚洲gay片在线gv网站| 亚洲欧美日韩一区二区三区| 亚洲人成免费电影| 亚洲一级毛片免观看| 亚洲精品无码久久久久久久 | 国产区图片区小说区亚洲区| 亚洲最大av资源站无码av网址| 亚洲熟妇av一区二区三区下载| 亚洲AV成人片色在线观看| 亚洲国产高清在线| 亚洲人成电影在在线观看网色| 亚洲av永久无码精品秋霞电影影院| 亚洲综合无码精品一区二区三区| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 久久影院亚洲一区| 国产91精品一区二区麻豆亚洲 | 国产精品亚洲专一区二区三区| 性色av极品无码专区亚洲| 国产亚洲人成在线影院| 午夜不卡AV免费| 中国性猛交xxxxx免费看| 好久久免费视频高清|