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

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

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

    jmesa

    jmesa分頁的方式有兩種,一種是通過java代碼直接控制,第二種是通過標簽來控制。

    首先介紹一下直接在java代碼中控制的方式:
    Java代碼 復制代碼 收藏代碼
    1. public class PaginationActionBean implements ActionBean {   
    2.   
    3. //此id表示將要創建的table的id   
    4.     private String id = "user_table";   
    5.     private ActionBeanContext context;   
    6.     private String html;   
    7.   
    8.     public String getHtml() {   
    9.         return html;   
    10.     }   
    11.     public void setHtml(String html) {   
    12.         this.html = html;   
    13.     }   
    14. ........   
    15.   
    16.     @DefaultHandler  
    17.     public Resolution display() {   
    18.         TableFacade tableFacade = TableFacadeFactory.createTableFacade(id, this  
    19.                 .getContext().getRequest());   
    20.   
    21.         addItems(tableFacade);   
    22.         html = html(tableFacade);   
    23.         ForwardResolution resolution = new ForwardResolution("/jsp/page.jsp");   
    24.         return resolution;   
    25.     }   
    26.   
    27.     private void addItems(TableFacade tableFacade) {   
    28.         tableFacade.setItems(FillListData.getData());   
    29.     }   
    30.   
    31.     private String html(TableFacade tableFacade) {   
    32.   
    33.         tableFacade.setColumnProperties("name""password""deleteUser");   
    34.   
    35.         HtmlTable table = (HtmlTable) tableFacade.getTable();   
    36.         table.setCaption("用戶列表");   
    37.         table.getTableRenderer().setWidth("600px");   
    38.   
    39.         HtmlRow row = table.getRow();   
    40.   
    41.         HtmlColumn name = row.getColumn("name");   
    42.         name.setTitle("名字");   
    43.   
    44.         HtmlColumn password = row.getColumn("password");   
    45.         password.setTitle("密碼");   
    46.   
    47.         HtmlColumn delete = row.getColumn("deleteUser");   
    48.         delete.setTitle("刪除");   
    49.         delete.setWidth("100px");   
    50.   
    51.         // Using an anonymous class to implement a custom editor.   
    52.         // 用于演示在表格中增加超鏈接   
    53.         name.getCellRenderer().setCellEditor(new CellEditor() {   
    54.             public Object getValue(Object item, String property, int rowcount) {   
    55.                 Object value = new BasicCellEditor().getValue(item, property,   
    56.                         rowcount);   
    57.                 HtmlBuilder html = new HtmlBuilder();   
    58.                 html.a().href().quote().append("http://baidu.com").quote()   
    59.                         .close();   
    60.                 html.append(value);   
    61.                 html.aEnd();   
    62.                 return html.toString();   
    63.             }   
    64.         });   
    65.   
    66.         delete.getCellRenderer().setCellEditor(new CellEditor() {   
    67.             public Object getValue(Object item, String property, int rowcount) {   
    68.   
    69.                 HtmlBuilder html = new HtmlBuilder();   
    70.                 // 取得每一行的id號   
    71.                 Object user = ItemUtils.getItemValue(item, "name");   
    72.                 String js = " onclick='javascript:del(\"user\"," + user + ") '";   
    73.                 html.a().append(js).href().quote().append(   
    74.                         getContext().getRequest().getContextPath()   
    75.                                 + "/Pagination.action?delete&user=" + user)   
    76.                         .quote().close();   
    77.                 html.append("刪除");   
    78.                 html.aEnd();   
    79.                 return html.toString();   
    80.             }   
    81.         });   
    82.   
    83.         return tableFacade.render(); // Return the Html.   
    84.     }   
    85.   
    86. ..............   
    87. }  


    上面的代碼中最重要的就是那上html方法,此方法完成了整個表格的定制工作,包括鏈接在內。如果要重新設置每頁顯示的記錄數(默認每頁可顯示15,50,100),要么修改jmesa.properties文件,要么通過java代碼設置。修改配置文件的話,同時要修改兩個地方:

    limit.rowSelect.maxRows=15
    html.toolbar.maxRowsDroplist.increments=15,50,100

    如果修改,必須滿足第一行的數字必須是第二行所有數字中的一個。用java代碼修改的也要遵照同樣的原則。

    jsp代碼很簡單:
    Html代碼 復制代碼 收藏代碼
    1. <script type="text/javascript"  
    2.               src="${pageContext.request.contextPath}/js/jquery.js"></script>  
    3. <script type="text/javascript"  
    4.               src="${pageContext.request.contextPath}/js/jquery.jmesa.js"></script>              
    5. <script type="text/javascript"  
    6.               src="${pageContext.request.contextPath}/js/jmesa.js"></script>    
    7. <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/jmesa.css"></link>    
    8. </head>  
    9. <body>  
    10. <h1>Stripes Calculator</h1>  
    11.   
    12. <form>  
    13.     ${actionBean.html}   
    14. <script type="text/javascript">     
    15.         function onInvokeAction(id) {    
    16.             createHiddenInputFieldsForLimitAndSubmit(id);     
    17.         }     
    18. </script>     
    19. </form>  
    20. </body>  


    上面這段代碼中,需要注意一下JS聲明的順序,而且還要申明一個form,不然分頁的時候JS會出錯。還要加上上面的那段JS代碼。

    第二種方式是直接通過標簽的方式申明,因此需要在JSP頭部申明:
    Html代碼 復制代碼 收藏代碼
    1. <%@ taglib uri="/WEB-INF/tld/jmesa.tld" prefix="jmesa" %>  
    2. .........   
    3. ...............  


    將${actionBean.html}替換成:

    Html代碼 復制代碼 收藏代碼
    1. <jmesa:tableFacade id="user_table" items="${items}" var="bean" >  
    2.         <jmesa:htmlTable width="600px">                  
    3.             <jmesa:htmlRow>        
    4.                 <jmesa:htmlColumn property="name"/>  
    5.                 <jmesa:htmlColumn property="password" title="Last Name"/>  
    6.             </jmesa:htmlRow>  
    7.         </jmesa:htmlTable>    
    8. </jmesa:tableFacade>  


    這部分代碼的作用與上面action直接操縱表格的方式一樣,只是把工作轉移到JSP中。只是上面的${items}表示一個將要顯示的collection,不用再使用字符串的方式顯示。如果兩種方式都用的話,則以JSP中的方式為準。

    jmesa的配置文件已經集成在JAR中,如果需要改變,可以將此文件復制出來,改變其內容,然后在web.xml重新指定其路徑:
    Xml代碼 復制代碼 收藏代碼
    1. <context-param>  
    2.     <param-name>jmesaPreferencesLocation</param-name>  
    3.     <param-value>WEB-INF/jmesa.properties</param-value>  
    4. </context-param>  

    posted on 2011-09-06 11:56 sichuanxiaohuo 閱讀(1025) 評論(0)  編輯  收藏 所屬分類: jmesa


    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    留言簿

    文章分類

    文章檔案

    link

    搜索

    最新評論

    主站蜘蛛池模板: 亚洲成a人无码亚洲成av无码| 一本色道久久综合亚洲精品高清| 亚洲天天做日日做天天看| 亚欧国产一级在线免费| 亚洲区日韩区无码区| 亚洲免费一区二区| 亚洲一区精品无码| 久久免费精彩视频| 久久久无码精品亚洲日韩按摩 | 国产亚洲情侣久久精品| 国产极品美女高潮抽搐免费网站| 亚洲av日韩aⅴ无码色老头| 免费大黄网站在线观看| 一个人看www免费高清字幕| 国产亚洲精久久久久久无码| 免费视频成人手机在线观看网址| 精品日韩亚洲AV无码| 中文字幕人成无码免费视频| 亚洲成a人片在线不卡一二三区| 免费中文字幕在线| 一区二区三区免费在线观看| 久久亚洲国产午夜精品理论片| 曰批全过程免费视频播放网站| 亚洲一区在线观看视频| 国产精品无码一二区免费 | 夜夜嘿视频免费看| 天堂亚洲免费视频| 亚洲人成在线影院| 女人18毛片免费观看| 一级毛片a女人刺激视频免费| 亚洲成人在线电影| 国产无人区码卡二卡三卡免费| 美女露隐私全部免费直播| 亚洲精品午夜无码专区| 成年免费大片黄在线观看岛国| 国产精品亚洲а∨天堂2021 | 亚洲av无码片区一区二区三区| 日韩免费视频在线观看| a在线免费观看视频| 亚洲综合av一区二区三区| 国产亚洲精品久久久久秋霞 |