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

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

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

    Ryan's Java world!

    something about Java and opensource!

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      51 Posts :: 25 Stories :: 59 Comments :: 0 Trackbacks

    Wicket 教程4:如何使用 Include,Panel,Fragment,Link

    前面我沒看到了如何使用一些基本的markup,和幾個(gè)示例

    ( http://www.hexiao.cn/blog/index.php?job=art&articleid=a_20060807_153301? ), 這次再來看看幾個(gè)復(fù)雜一點(diǎn)的markup.

    下次來看看 Form 及其相關(guān)的markup的使用.

    [b]Include [/b]是一個(gè)和JSP中的include指令功能差不多的markup,用來導(dǎo)入一個(gè)文件.

    可以使用絕對和相對路徑來導(dǎo)入文件, 該類的使用是很簡單的.
    Java code:
    ?...
    ??add(new Include("header", "header.html"));
    ??add(new Include("footer", "footer.html"));
    ?? ?...
    and Html Code:

    ?? ...
    ??<div>
    ?? <div wicket:id="header">header comes here</div>
    ?? <div>I am the body!</div>
    ?? <div wicket:id="footer">footer comes here</div>
    ??</div>
    ?? ...
    ?
    上面就可以實(shí)現(xiàn)一個(gè)簡單的布局框架.


    [b]Panel: [/b]panel有點(diǎn)類似于swing中的panel,用來放置其他markup, panel的使用也

    是很簡單的, 如下:
    創(chuàng)建一個(gè)mypanel類:
    class MyPanel extends Panel {
    ?
    ?public MyPanel(String id) {
    ??super(id);
    ??add(new Label("label", "yep, this is from a component

    proper"));
    ??add(new AnotherPanel("otherPanel"));
    ?}
    }

    該類繼承與Panel,里面添加了兩個(gè)markup,一個(gè)Label,另外一個(gè)Panel(Panel可以

    無限嵌套). 然后編寫對應(yīng)的html文件. MyPanel.html

    <?xml version="1.0" encoding="UTF-8"?>
    <html xmlns="<head>
    ??? <title>Wicket Examples - sample panel</title>
    </head>
    <body>
    ?<wicket:panel>
    ??<p style="border: 2px dotted #fc0; padding: 5px;">
    ?? Here are some panel contents for ya.<br />
    ?? Put arbitrairy Wicket components in your Panels,
    ?? like this label: <span wicket:id="label" style="background-

    color: aqua" >to be replaced</span>, or<br />
    ?? even another panel: <span wicket:id="otherPanel"?

    style="background-color: aqua">also to be replaced</span>.<br />
    ?? You can nest panels any deep you want.
    ??</p>
    ?</wicket:panel>

    </body>
    </html>

    下面是使用上面的panel的代碼,
    Java code:
    ...
    ?add(new MyPanel("panel"));
    ...
    Html code:
    ??? <span wicket:id="panel">panel contents come here</span>

    [b]Fragment:[/b] 當(dāng)有很多小段信息要組織的時(shí)候,使用很多panel可能是不雅觀的,這時(shí)

    就可以使用Fragment了.
    示例如下:
    Java code:
    ...
    ??? add(new Fragment("myPanel1", "frag2"));
    ...

    Html code:
    ...
    <span wicket:id="myPanel">Example input (will be removed)</span>
    ???????????
    ???????????? <wicket:fragment wicket:id="frag1">panel

    1</wicket:fragment>
    ???????????? <wicket:fragment wicket:id="frag2">panel

    2</wicket:fragment>
    ...


    [b]Link:[/b] link就是web頁面中的連接了, 這里的link可以是一切連接,如 常用的<a/>

    , button... 這里的link 和JSF中的link所擁有的功能一樣強(qiáng)大.
    下面來看幾個(gè)示例:
    普通的link:
    Java code:
    ...
    ?add(new Link("link1"));
    ...
    Html code:
    ...
    <a href="#" wicket:id="link1">this link is clicked <span

    wicket:id="linkLabel1">n</span> times</a>
    ...
    使用不同的html 可以顯示為不同的樣式,如:
    button樣式的按鈕:
    Html code:
    <button wicket:id="link2">this button is clicked <span

    wicket:id="linkLabel2">n</span> times</button>

    or:
    <input type="button" wicket:id="link3" value="this button is clicked n

    times" />

    [b]ExternalLink:[/b] 是link的一種, 特別用來連接到該站點(diǎn)以外的資源, 示例:
    Java code:
    ...
    //?? add a link that goes to javalobby
    add(new ExternalLink("externalLink1", "

    JavaLobby"));
    ...

    Html code:
    ...
    ?<a href="#" target="_new" wicket:id="externalLink1">this body

    will be replaced</a>
    ...

    [b]PageLink:[/b] 也是link的一種,實(shí)現(xiàn)頁面之間的跳轉(zhuǎn): 示例:
    Java code:
    ...
    ?// 可以有多種方法使用該類,下面是一種推薦的方法
    ??add(new PageLink("pageLink", new IPageLink(){
    ???public Page getPage(){
    ????return new NonBookmarkablePage

    (QuickStart4.this);
    ???}

    ???public Class getPageIdentity(){
    ????return NonBookmarkablePage.class;
    ???}
    ??}));

    ?...
    Html code:
    ...
    ?<a wicket:id="pageLink">go to our private/ non bookmarkable

    page</a>
    ....

    [b]BookmarkablePageLink:[/b] 也是link的一種,實(shí)現(xiàn)一種可以作為書簽收藏的連接,也

    就是無狀態(tài)的連接. 可以帶參數(shù)也可以不帶參數(shù): 示例:

    Java? code :
    ...
    ??add(new BookmarkablePageLink("pageLinkNoArgs",

    BookmarkablePage.class));


    ??PageParameters parameters = new PageParameters();
    ??parameters.put("message", "This message was passed as a

    page parameter argument");
    ??add(new BookmarkablePageLink("pageLinkWithArgs",

    BookmarkablePage.class, parameters));

    ....

    Html code:

    ...
    <p>
    ?<a wicket:id="pageLinkNoArgs">go to our bookmarkable page

    without passing any arguments</a>
    ?</p>

    ?<p>
    ?<a wicket:id="pageLinkWithArgs">go to our bookmarkable page

    passing a message argument</a>
    ?</p>
    ...

    討論: http://bbs.hexiao.cn/thread.php?fid=9

    代碼下載: http://bbs.hexiao.cn/read.php?fid=9&tid=15&fpage=1?
    允許所需要的類庫,到這里下載: http://bbs.hexiao.cn/read.php?fid=9&tid=12&fpage=1

    posted on 2006-08-08 09:25 冰雨 閱讀(2063) 評論(1)  編輯  收藏 所屬分類: Opensource

    Feedback

    # 111[未登錄] 2016-05-09 13:56 111
    111  回復(fù)  更多評論
      


    JSF中文技術(shù)文摘
    主站蜘蛛池模板: 亚洲成人中文字幕| 看一级毛片免费观看视频| 成在线人视频免费视频| 成人免费午夜在线观看| 98精品全国免费观看视频| 又爽又高潮的BB视频免费看| 久久亚洲AV无码西西人体| 亚洲av无码专区在线播放 | 亚洲中文字幕无码不卡电影| 久久精品国产亚洲av麻豆小说 | 四虎影视免费在线| 中文字幕亚洲一区二区三区| 亚洲日本VA中文字幕久久道具| 久久99热精品免费观看牛牛| 免费看片免费播放| 337p日本欧洲亚洲大胆精品555588| 污污的视频在线免费观看| 99re免费视频| 亚洲乱码一区二区三区在线观看| 国产亚洲精品美女久久久久久下载 | 久久一区二区三区免费播放 | 久久精品亚洲中文字幕无码网站| 一级视频免费观看| 精品国产sm捆绑最大网免费站| 亚洲精品乱码久久久久久| 无码人妻一区二区三区免费视频 | 国产精品免费视频观看拍拍 | 成人午夜亚洲精品无码网站| 美女一级毛片免费观看| 在线观看人成网站深夜免费| 精品日韩99亚洲的在线发布| 曰批全过程免费视频播放网站 | 亚洲精品无码永久在线观看| 亚洲成综合人影院在院播放| h片在线播放免费高清 | 亚洲精品美女久久久久| 亚欧免费无码aⅴ在线观看| 国产亚洲精品xxx| 国产一级婬片A视频免费观看| 国产精品亚洲产品一区二区三区| 美女一级毛片免费观看|