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

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

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

    tinguo002

     

    Window_Open詳解

         摘要: 來原:http://www.cnblogs.com/stswordman/archive/2006/06/02/415853.html一、window.open()支持環境:JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+二、基本語法:window.open(pageURL,name,parameters) 其中:pageURL 為子窗口路徑 name 為...  閱讀全文

    posted @ 2012-09-07 20:22 一堣而安 閱讀(187) | 評論 (0)編輯 收藏

    jQuery中的live綁定多個事件整理

    來源:
    http://blog.csdn.net/chensyabc/article/details/6231077

    今天寫到了后臺的內容編輯,這就需要頁面不復雜,所以使用jquery的live事件,而我需要綁定兩個時間,所以最后選擇多個綁定方法,尋找網站上的解決方法,最終在jquery官網找到了,整理如下:

    在1.4.0之前(不包含1.4.0)無法使用多個綁定的,單個示例為:

    $('.clickme').live('click', function() {
      // Live handler called.
    });
    1.4.0-1.4.2開始支持了,實例如下:
    $('.hoverme').live('mouseover mouseout', function(event) {
      if (event.type == 'mouseover') {
        // do something on mouseover
      } else {
        // do something on mouseout
      }
    });
    
    
    1.4.3之后的版本又開始支持另外一種更新的方法:
    $('a').live({
      click: function() {
        // do something on click
      },
      mouseover: function() {
        // do something on mouseover
      }
    });
    //鼠標移入移出事件
    $(document).ready(function(){
        $('.title span').live({
            mouseenter:function(){
                alert('enter');
            },
            mouseleave:function(){
                alert('leave');
            }
        });
    });
     
     

    posted @ 2012-09-06 14:41 一堣而安 閱讀(5751) | 評論 (0)編輯 收藏

    STRUTS2獲得session和request


    來源

    http://www.cnblogs.com/earl86/archive/2008/11/13/1666459.html

    在struts1中,獲得到系統的request或者session對象非常方便,都是按照形參傳遞的,但是在struts2中,request和session都被隱藏了
    struts提供兩種方式訪問session和request,其中比較常用的是利用SPRING里面所說的IOC即控制反轉
    IOC方式:
    action類實現ServletRequestAware接口,并新建一個HttpServletRequest request
    public class UserLoginAction extends ActionSupport implements ServletRequestAware{
        public void setServletRequest(HttpServletRequest request) {
          this.request=request;
       }
    然后可以生成的request得到對象,如request.getRemoteAddr()
    action類實現SessionAware接口,并創建一個MAP對象session
    public class UserLoginAction extends ActionSupport implements ServletRequestAware,SessionAware{
        public void setServletRequest(HttpServletRequest request) {
          this.request=request;
       }
    public void setSession(Map session) {
       this.session=session; 
    }
    非IOC方式
    非Ioc方式

    這種方式主要是利用了com.opensymphony.xwork2.ActionContext類以及org.apache.struts2.ServletActionContext類,具體的方法如下所示。
    獲得request對象:
    AHttpServletRequest request = ServletActionContext.getRequest ();
    B.ActionContext ct= ActionContext.getContext()
        HttpServletRequest request=
    (HttpServletRequest)ct.get(ServletActionContext.HTTP_REQUEST);
    獲得session對象:
    在Struts2中底層的session都被封裝成了Map類型,我們稱之為SessionMap,而平常我們所說的session則是指HttpSession對象,具體的獲得方法如下所示。
    A.Map session=ActionContext.getSession();
    B.Map session=(Map)ActionContext.getContext().get(ActionContext.SESSION);
    得到這個SessionMap之后我們就可以對session進行讀寫了,如果我們想得到原始的HttpSession可以首先得到HttpServletRequest對象,然后通過request.getSession()來取得原始的HttpSession對象。一般情況下SessionMap已經可以完成所有的工作,我們不必再去碰底層的session了。

    posted @ 2012-09-05 14:15 一堣而安 閱讀(229) | 評論 (0)編輯 收藏

    SQL:select case when(轉)

    來自:
    http://www.cnblogs.com/cyrix/articles/1750184.html

    CASE
    可能是 SQL 中被誤用最多的關鍵字之一。雖然你可能以前用過這個關鍵字來創建字段,但是它還具有更多用法。例如,你可以在 WHERE 子句中使用 CASE

    首先讓我們看一下
    CASE 的語法。在一般的 SELECT 中,其語法如下:

    SELECT <myColumnSpec> =
    CASE
    WHEN <A> THEN <somethingA>
    WHEN <B> THEN <somethingB>
    ELSE <somethingE>
    END

    在上面的代碼中需要用具體的參數代替尖括號中的內容。下面是一個簡單的例子:

    USE pubs
    GO
    SELECT
    Title,
    'Price Range' =
    CASE
    WHEN price IS NULL THEN 'Unpriced'
    WHEN price < 10 THEN 'Bargain'
    WHEN price BETWEEN 10 and 20 THEN 'Average'
    ELSE 'Gift to impress relatives'
    END
    FROM titles
    ORDER BY price
    GO

    這是
    CASE 的典型用法,但是使用 CASE 其實可以做更多的事情。比方說下面的 GROUP BY 子句中的 CASE

    SELECT 'Number of Titles', Count(*)
    FROM titles
    GROUP BY
    CASE
    WHEN price IS NULL THEN 'Unpriced'
    WHEN price < 10 THEN 'Bargain'
    WHEN price BETWEEN 10 and 20 THEN 'Average'
    ELSE 'Gift to impress relatives'
    END
    GO

    你甚至還可以組合這些選項,添加一個
    ORDER BY 子句,如下所示:

    USE pubs
    GO
    SELECT
    CASE
    WHEN price IS NULL THEN 'Unpriced'
    WHEN price < 10 THEN 'Bargain'
    WHEN price BETWEEN 10 and 20 THEN 'Average'
    ELSE 'Gift to impress relatives'
    END AS Range,
    Title
    FROM titles
    GROUP BY
    CASE
    WHEN price IS NULL THEN 'Unpriced'
    WHEN price < 10 THEN 'Bargain'
    WHEN price BETWEEN 10 and 20 THEN 'Average'
    ELSE 'Gift to impress relatives'
    END,
    Title
    ORDER BY
    CASE
    WHEN price IS NULL THEN 'Unpriced'
    WHEN price < 10 THEN 'Bargain'
    WHEN price BETWEEN 10 and 20 THEN 'Average'
    ELSE 'Gift to impress relatives'
    END,
    Title
    GO

    注意,為了在
    GROUP BY 塊中使用 CASE,查詢語句需要在 GROUP BY 塊中重復 SELECT 塊中的 CASE 塊。

    除了選擇自定義字段之外,在很多情況下
    CASE 都非常有用。再深入一步,你還可以得到你以前認為不可能得到的分組排序結果集

    posted @ 2012-08-10 17:21 一堣而安 閱讀(577) | 評論 (0)編輯 收藏

    javascript 手機號碼正則表達式


    來源:腳本之家
    http://www.jb51.net/article/21292.htm

    事例1:
    function checkMobile(){ 
        var sMobile = document.mobileform.mobile.value 
        if(!(/^1[3|4|5|8][0-9]\d{4,8}$/.test(sMobile))){ 
            alert("不是完整的11位手機號或者正確的手機號前七位"); 
            document.mobileform.mobile.focus(); 
            return false; 
        }
    }

    下面是腳本之家編輯對上面正則表達式的簡單分析,隨著以后手機號碼段的增加,大家可以自己擴展功能,不懂正則的朋友看完這篇文章應該會了點啊。
    主要是這段代碼了,以后大家修改這段就可以了
    ^1[3|4|5|8][0-9]\d{4,8}$
    ^1代表以1開頭,現在中國的手機號沒有是其它開頭的,以后不一定啊
    [3|4|5|8] 緊跟上面的1后面,可以是3或4或5或8的一個數字,如果以后出現190開始的手機號碼了,就需要如下[3|4|5|8|9]
    [0-9]表示0-9中間的任何數字,可以是0或9
    \d{4,8} 這個\d跟[0-9]意思一樣,都是0-9中間的數字。{4,8}表示匹配前面的最低4位數字最高8位數字。這里為什么不是直接的8呢,因為手機號碼歸屬地查詢的時候,根據前7位就可以知道具體的地址了,后面的4位沒有影響的。
    下面是測試代碼:
    <script type="text/javascript">
    function checkMobile(){
        var sMobile = document.mobileform.mobile.value
        if(!(/^1[3|5][0-9]\d{4,8}$/.test(sMobile))){
            alert("不是完整的11位手機號或者正確的手機號前七位");
            document.mobileform.mobile.focus();
            return false;
        }
    }
    </script>
    <form action="<INPUT name="mobile" class=tdc size="40" maxLength="11">
    <INPUT name="action" type="hidden" value=mobile> <INPUT class=bdtj name=B1 type=submit value="查 詢">
    </FORM>

    下面是腳本之家從別的網站找來的代碼。大家可以看下。另我們推薦大家學習下正則表達式,好多地方離開正則表達式真的不行。
    \d 代表一個數字
    例如:1或2或3,單個數字
    如果是多個可以用\d*
    \d{7,8} 代表7-8位數字(表示電話號碼)
    例如:12345678
    {7,8}表示7位或9位數字,一般電話號碼符合。
    \d{3,} 代表分機號碼
    例如:123,12345
    {3,}表示最低3個數字,可以更多
    0\d{2,3} 代表區號
    例如:021
    [0\+]\d{2,3} 代表國際區號
    如果使用減號連接,完整的應該是
    /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/


     
    <SCRIPT LANGUAGE="JavaScript">
    function testit(){
    var filter=/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
    alert(filter.test(txt.value));
    }
    </SCRIPT>
    <input id=txt onchange="testit()">


    posted @ 2012-08-06 15:49 一堣而安 閱讀(226) | 評論 (0)編輯 收藏

    手機號碼和電話號碼的正則表達式


    來源:
    http://www.cnblogs.com/xyzhuzhou/archive/2012/05/08/2490388.html

    電話號碼正則表達式(支持手機號碼,3-4位區號,7-8位直播號碼,1-4位分機號) ((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)
    匹配格式:
    11位手機號碼
    3-4位區號,7-8位直播號碼,1-4位分機號
    如:12345678901、1234-12345678-1234
    "^\d+$"  //非負整數(正整數 + 0) 
    "^[0-9]*[1-9][0-9]*$"  //正整數 
    "^((-\d+)|(0+))$"  //非正整數(負整數 + 0) 
    "^-[0-9]*[1-9][0-9]*$"  //負整數 
    "^-?\d+$"    //整數 
    "^\d+(\.\d+)?$"  //非負浮點數(正浮點數 + 0) 
    "^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮點數 
    "^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮點數(負浮點數 + 0) 
    "^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //負浮點
    數 
    "^(-?\d+)(\.\d+)?$"  //浮點數 
    "^[A-Za-z]+$"  //由26個英文字母組成的字符串 
    "^[A-Z]+$"  //由26個英文字母的大寫組成的字符串 
    "^[a-z]+$"  //由26個英文字母的小寫組成的字符串 
    "^[A-Za-z0-9]+$"  //由數字和26個英文字母組成的字符串 
    "^\w+$"  //由數字、26個英文字母或者下劃線組成的字符串 
    "^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址 
    "^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url 
    /^13\d{9}$/gi手機號正則表達式
    public static bool IsValidMobileNo(string MobileNo)
      {
       const string regPattern = @"^(130|131|132|133|134|135|136|137|138|139)\d{8}$";
       return Regex.IsMatch(MobileNo, regPattern);
      }
    正則表達式--驗證手機號碼:13[0-9]{9}    (這是只是驗證13開頭的)
    實現手機號前帶86或是+86的情況:^((\+86)|(86))?(13)\d{9}$
    電話號碼與手機號碼同時驗證:(^(\d{3,4}-)?\d{7,8})$|(13[0-9]{9}) 
    提取信息中的網絡鏈接:(h|H)(r|R)(e|E)(f|F)  *=  *('|")?(\w|\\|\/|\.)+('|"|  *|>)?  
    提取信息中的郵件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*  
    提取信息中的圖片鏈接:(s|S)(r|R)(c|C)  *=  *('|")?(\w|\\|\/|\.)+('|"|  *|>)?
    提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)    
    提取信息中的中國手機號碼:(86)*0*13\d{9}    
    提取信息中的中國固定電話號碼:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}    
    提取信息中的中國電話號碼(包括移動和固定電話):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}    
    提取信息中的中國郵政編碼:[1-9]{1}(\d+){5}    
    提取信息中的中國身份證號碼:\d{18}|\d{15}    
    提取信息中的整數:\d+    
    提取信息中的浮點數(即小數):(-?\d*)\.?\d+    
    提取信息中的任何數字  :(-?\d*)(\.\d+)?  
    提取信息中的中文字符串:[\u4e00-\u9fa5]*    
    提取信息中的雙字節字符串  (漢字):[^\x00-\xff]*

    posted @ 2012-08-06 10:15 一堣而安 閱讀(14958) | 評論 (0)編輯 收藏

    CSS background 屬性

    定義和用法

    background 簡寫屬性在一個聲明中設置所有的背景屬性。

    可以按順序設置如下屬性:

    • background-color
    • background-image
    • background-repeat
    • background-attachment
    • background-position

    如果不設置其中的某個值,也不會出問題,比如 background:#ff0000 url('smiley.gif'); 也是允許的。

    通常建議使用這個屬性,而不是分別使用單個屬性,因為這個屬性在較老的瀏覽器中能夠得到更好的支持,而且需要鍵入的字母也更少。

    默認值: not specified
    繼承性: no
    版本: CSS1
    JavaScript 語法: object.style.background="white url(paper.gif) repeat-y"

    實例

    如何在一個聲明中設置所有背景屬性:

    body
      { 
      background: #00FF00 url(bgimage.gif) no-repeat fixed top;
      }
    

    TIY

    瀏覽器支持

    所有瀏覽器都支持 background 屬性。

    任何的版本的 Internet Explorer (包括 IE8)都不支持屬性值 "inherit"。

    可能的值

    描述
    background-color 規定要使用的背景顏色。參閱:background-color 中可能的值。
    background-image 規定要使用的背景圖像。參閱:background-image 中可能的值。
    background-repeat 規定如何重復背景圖像。參閱:background-repeat 中可能的值。
    background-attachment 規定背景圖像是否固定或者隨著頁面的其余部分滾動。參閱:background-attachment 中可能的值。
    background-position 規定背景圖像的位置。參閱:background-position 中可能的值。
    inherit 規定應該從父元素繼承 background 屬性的設置。

    TIY 實例

    所有背景屬性在一個聲明之中
    本例演示如何使用簡寫屬性來將所有背景屬性設置在一個聲明之中。

    相關頁面

    CSS 教程:CSS 背景

    HTML DOM 參考手冊:background 屬性

    posted @ 2012-08-03 16:19 一堣而安 閱讀(198) | 評論 (0)編輯 收藏

    js對字符串進行編碼方法總結


    來源:
    http://www.cnblogs.com/Miton/archive/2011/07/25/2116292.html

    在用javascript對URL字符串進行編碼中,雖然escape()、encodeURI()、encodeURIComponent()三種方法都能對一些影響URL完整性的特殊字符進行過濾。但后兩者是將字符串轉換為UTF-8的方式來傳輸,解決了頁面編碼不一至導致的亂碼問題。例如:發送頁與接受頁的編碼格式(Charset)不一致(假設發送頁面是GB2312而接收頁面編碼是UTF-8),使用escape()轉換傳輸中文字串就會出現亂碼問題。

    以下是JS下對URL進行編/解碼的各種方法:
    1、escape 方法:返回一個可在所有計算機上讀取的編碼 String 對象。
    function escape(charString : String) : String
    不會被此方法編碼的字符: @ * / +
    說明:escape 方法返回一個包含 charstring 內容的字符串值(Unicode 格式)。所有空格、標點、
    重音符號以及任何其他非 ASCII 字符都用 %xx 編碼替換,其中 xx 等于表示該字符的十六進制數。
    例如,空格返回為“%20”。(字符值大于 255 的字符以 %uxxxx 格式存儲。)
    注意:escape 方法不能用來對“統一資源標識符”(URI) 進行編碼。對其編碼應使用 encodeURI 和encodeURIComponent 方法。

    2、encodeURI 方法:返回編碼為有效的統一資源標識符 (URI) 的字符串。
    function encodeURI(URIString : String) : String
    不會被此方法編碼的字符:! @ # $ & * ( ) = : / ; ? + '
    說明:encodeURI 方法返回一個已編碼的 URI。如果將編碼結果傳遞給 decodeURI,則將返回初始的字符串。encodeURI 不對下列字符進行編碼:“:”、“/”、“;”和“?”。請使用
    encodeURIComponent 對這些字符進行編碼。

    java解碼:
    name = java.net.URLDecoder.decode(name,"UTF-8");

    3、encodeURIComponent 方法:返回編碼為統一資源標識符 (URI) 的有效組件的字符串。
    function encodeURIComponent(encodedURIString : String) : String
    不會被此方法編碼的字符:! * ( ) '
    說明:encodeURIComponent 方法返回一個已編碼的 URI。如果將編碼結果傳遞給decodeURIComponent,則將返回初始的字符串。因為 encodeURIComponent 方法將對所有字符編碼,
    請注意,如果該字符串代表一個路徑,例如 /folder1/folder2/default.html,則其中的斜杠也將被編碼,這樣,當該字符串作為請求發送到 Web 服務器時它將是無效的。如果字符串中包含多個 URI 組件,請使用 encodeURI 方法進行編碼。

    4、unescape 方法:從用 escape 方法編碼的 String 對象中返回已解碼的字符串。
    function unescape(charString : String) : String
    說明:unescape 方法返回一個包含 charstring 內容的字符串值。所有以 %xx 十六進制形式編碼的
    字符都用 ASCII 字符集當中等效的字符代替。(以 %uxxxx 格式(Unicode 字符)編碼的字符用十六
    進制編碼 xxxx Unicode 字符代替。)
    注意:unescape 方法不應用于解碼“統一資源標識符”(URI)。請改用 decodeURI decodeURIComponent 方法。

    5、decodeURI 方法:返回一個已編碼的統一資源標識符 (URI) 的非編碼形式。
    function decodeURI(URIstring : String) : String
    decodeURIComponent 方法:返回統一資源標識符 (URI) 的一個已編碼組件的非編碼形式。
    function decodeURIComponent(encodedURIString : String) : String
    BTW:C#中對URL編碼的方法。。。
    編碼:Server.UrlEncode(string)
    解碼:Server.UrlDecode(string) 前面三種客戶端編碼都可以用這個方法在后臺解碼。

    posted @ 2012-08-03 10:00 一堣而安 閱讀(6055) | 評論 (0)編輯 收藏

    struts2 遍歷Map的N中方法

     

    來源
    http://hi.baidu.com/iduany/item/19f9f622603ba8172a0f1c72
    struts2 遍歷Map的N中方法

    主要針對以下幾種情況的Map:
    private Map<String, String> strMap = new HashMap<String, String>();
    private Map<String, Person> perMap = new HashMap<String, Person>();

    private Map<String, String[]> strArryMap = new HashMap<String, String[]>();
    private Map<String, List<Person>> perLstMap = new HashMap<String, List<Person>>();

    下面給出一個示例
    1).ExpressMapAction.java
    package com.expre.struts2.action;

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    import com.expre.struts2.bean.Person;
    import com.expre.struts2.bean.Phone;
    import com.opensymphony.xwork2.ActionSupport;

    public class ExpressMapAction extends ActionSupport {
    private static final long serialVersionUID = -4251480679223607716L;

    private Map<String, String> strMap = new HashMap<String, String>();

    private Map<String, Person> perMap = new HashMap<String, Person>();

    private Map<String, String[]> strArryMap = new HashMap<String, String[]>();

    private Map<String, List<Person>> perLstMap = new HashMap<String, List<Person>>();

    //get&set方法,這里都省略了
    ...................

    @Override
    public String execute() throws Exception {

    // 值為字符串
    strMap.put("first", "zxx");
    strMap.put("second", "lsx");
    strMap.put("third", "wxh");

    // 值為javabean對象
    Person person = new Person("001", "zxx", 22);
    person.setPhone(new Phone("apple", 18957157189L));

    perMap.put("one", person);

    person = new Person("002", "lsx", 25);
    person.setPhone(new Phone("HTC", 18957157187L));
    perMap.put("two", person);

    // 數組處理
    strArryMap.put("arr1", new String[] { "1", "310000", "hz" });
    strArryMap.put("arr2", new String[] { "2", "310001", "xh" });
    strArryMap.put("arr3", new String[] { "3", "310002", "sc" });

    //list對象處理
    List<Person> list=new ArrayList<Person>();
    list.add(new Person("001", "zxx", 22));
    list.add(new Person("002", "lsx", 25));
    perLstMap.put("one", list);

    list=new ArrayList<Person>();
    list.add(new Person("003", "wlx", 26));
    list.add(new Person("004", "hzx", 28));
    perLstMap.put("two", list);

    return "result";
    }
    }

    2).struts.xml
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "<struts>
    <package name="express" extends="struts-default" namespace="/exp">
    <action name="expressMap" class="com.expre.struts2.action.ExpressMapAction">
    <result name="result">/jsp/strMap.jsp</result>
    </action>
    </package>
    </struts>

    3.web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="
    http://java.sun.com/xml/ns/j2ee
    <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    <welcome-file-list>
    <welcome-file>/first.jsp</welcome-file>
    </welcome-file-list>
    </web-app>

    4).strMap.jsp
    <%@ page language="java" pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <%@ taglib uri="/struts-tags" prefix="s"%>
    <html>
    <body>
    <ul>
    <li>訪問Map:<s:property value="strMap"/></li>
    <li>訪問Map中某個元素:
    <s:property value="strMap.first"/> |
    <s:property value="strMap['second']"/> |
    <s:property value="strMap[\'third\']"/>
    </li>
    <li>訪問Map中所有的key:<s:property value="strMap.keys"/></li>
    <li>訪問Map中所有的value:<s:property value="strMap.values"/></li>
    <li>訪問容器的大小:
    <s:property value="strMap.size()"/> |
    <s:property value="strMap.size"/>//這是map特別的地方
    </li>

    <li>迭代循環取值,最簡單
    <s:iterator value="strMap" id="entry">
    <s:property value="#entry"/>{
    key: <s:property value="key"/>
    value:<s:property value="value"/>}|
    </s:iterator>
    </li>

    <li>迭代循環取值
    <s:iterator value="strMap.keySet()" id="key">
    <s:property value="key"/>或<s:property value="#key"/>:
    <s:if test="strMap[#key]!=null">
    <s:property value="strMap.get(#key)"/> |
    </s:if>
    </s:iterator>
    </li>

    <li>迭代循環取數組值
    <s:iterator value="strMap" id="entry">
    <s:property value="#entry"/>{
    <s:property value="value[0]"/>
    <s:property value="value[1]"/> |
    <s:property value="value[2]"/> }
    </s:iterator>
    </li>

    <li>迭代循環取對象值,最直接:
    <ul>
    <s:iterator value="perMap" id="entry">
    <li>
    <s:property value="#entry"/> {
    ID:<s:property value="value.ID"/>
    Name:<s:property value="value.name"/>
    Age:<s:property value="value.age"/> }|
    </li>
    </s:iterator>
    </ul>
    </li>

    <li>迭代循環取對象的屬性值
    <s:iterator value="perMap.keySet()" id="key">
    <s:property value="#key"/>:
    <s:iterator value="perMap.get(#key)">
    <s:property value="ID"/>
    <s:property value="name"/>
    <s:property value="phone.name"/>
    </s:iterator>|
    </s:iterator>
    </li>

    <li>稍復雜的迭代
    <s:iterator value="perLstMap" id="entry">
    <s:set name="total" value="#entry.value.size"/>
    <s:iterator value="#entry.value" status="s">
    <s:if test="#s.first">
    <s:property value="#entry.key"/>:共${total}條
    </s:if> {
    <s:property value="ID"/> |
    <s:property value="name"/> |
    <s:property value="age"/>
    };
    </s:iterator>
    </s:iterator>
    </li>
    </ul>
    </body>
    </html>

    5).通過url:http://localhost:8080/struts2Jsp/exp/expressMap.action訪問就會看到輸出!

    別的不多說,strMap.jsp已經把使用方法都寫出來了!

    posted @ 2012-07-26 17:51 一堣而安 閱讀(6250) | 評論 (0)編輯 收藏

    java Map 怎么遍歷

    //最常規的一種遍歷方法,最常規就是最常用的,雖然不復雜,但很重要,這是我們最熟悉的,就不多說了!!
        public static void work(Map<String, Student> map) {
            Collection<Student> c = map.values();
            Iterator it = c.iterator();
            for (; it.hasNext();) {
                System.out.println(it.next());
            }
        }
      //利用keyset進行遍歷,它的優點在于可以根據你所想要的key值得到你想要的 values,更具靈活性!!
        public static void workByKeySet(Map<String, Student> map) {
            Set<String> key = map.keySet();
            for (Iterator it = key.iterator(); it.hasNext();) {
                String s = (String) it.next();
                System.out.println(map.get(s));
            }
        }
      //比較復雜的一種遍歷在這里,呵呵~~他很暴力哦,它的靈活性太強了,想得到什么就能得到什么~~
        public static void workByEntry(Map<String, Student> map) {
            Set<Map.Entry<String, Student>> set = map.entrySet();
            for (Iterator<Map.Entry<String, Student>> it = set.iterator(); it.hasNext();) {
                Map.Entry<String, Student> entry = (Map.Entry<String, Student>) it.next();
                System.out.println(entry.getKey() + "--->" + entry.getValue());
            }
        }
    }

    posted @ 2012-07-26 17:42 一堣而安 閱讀(238) | 評論 (0)編輯 收藏

    僅列出標題
    共17頁: First 上一頁 9 10 11 12 13 14 15 16 17 下一頁 

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    收藏夾

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲国产乱码最新视频| 亚洲AV日韩AV天堂一区二区三区| 亚洲综合色7777情网站777| 91短视频在线免费观看| 亚洲AV乱码久久精品蜜桃 | 免费在线观看亚洲| 日本最新免费不卡二区在线| 亚洲精品乱码久久久久久蜜桃图片| 免费看国产精品3a黄的视频| 亚洲人片在线观看天堂无码| 夫妻免费无码V看片| 白白色免费在线视频| 亚洲日本中文字幕一区二区三区| 免费无码AV一区二区| 亚洲欭美日韩颜射在线二| 在线毛片片免费观看| 亚洲国产精品人久久电影| 在线观看免费人成视频色9| 亚洲AV噜噜一区二区三区| 免费v片在线观看| 国产精品综合专区中文字幕免费播放| 亚洲综合AV在线在线播放| 久久久久久AV无码免费网站 | 亚欧日韩毛片在线看免费网站| 亚洲一本综合久久| 成全高清视频免费观看| xxxxx做受大片在线观看免费| 亚洲成亚洲乱码一二三四区软件| 91精品成人免费国产片| 国产在亚洲线视频观看| 亚洲AV无码精品色午夜果冻不卡| 日本精品人妻无码免费大全| 黄色一级毛片免费看| 久久久久久亚洲精品中文字幕| 4399好看日本在线电影免费| 特级aa**毛片免费观看| 亚洲av午夜福利精品一区人妖| 三年片在线观看免费观看高清电影 | 亚洲国产一区二区a毛片| 国产精品酒店视频免费看| 在线看片免费人成视频播|