<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
    主站蜘蛛池模板: 在线观看亚洲免费视频| 最近免费中文字幕大全免费 | 亚洲国产人成在线观看69网站 | 国产高清免费视频| 亚洲精品白色在线发布| 久久免费观看国产精品88av| 亚洲精品无码久久一线| 两个人看的www高清免费视频| 国产精品亚洲精品日韩已满| 你懂的免费在线观看网站| 7777久久亚洲中文字幕蜜桃| 3344免费播放观看视频| 亚洲一级毛片中文字幕| 毛片免费在线观看网址| 精品国产日韩亚洲一区在线| 全亚洲最新黄色特级网站| 久99久无码精品视频免费播放| 亚洲综合另类小说色区| 日韩午夜理论免费TV影院| 自拍日韩亚洲一区在线| 日本一道高清不卡免费| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 国产成人yy免费视频| 亚洲精品无码专区在线| 精品亚洲视频在线观看| 一级毛片免费观看不卡视频| 亚洲成年人免费网站| 午夜老司机免费视频| 国产va免费观看| 久久久亚洲欧洲日产国码aⅴ| 野花高清在线观看免费3中文| 日本亚洲中午字幕乱码 | 亚洲网址在线观看你懂的| 西西大胆无码视频免费| 免费看一级高潮毛片| 亚洲国产成人精品不卡青青草原| 国产91免费在线观看| 亚洲黄片手机免费观看| 亚洲图片中文字幕| 亚洲午夜爱爱香蕉片| 色播精品免费小视频|