<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 首頁 新隨筆 聯系 聚合 管理
      51 Posts :: 25 Stories :: 59 Comments :: 0 Trackbacks

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

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

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

    下次來看看 Form 及其相關的markup的使用.

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

    可以使用絕對和相對路徑來導入文件, 該類的使用是很簡單的.
    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>
    ?? ...
    ?
    上面就可以實現一個簡單的布局框架.


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

    是很簡單的, 如下:
    創建一個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,里面添加了兩個markup,一個Label,另外一個Panel(Panel可以

    無限嵌套). 然后編寫對應的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] 當有很多小段信息要組織的時候,使用很多panel可能是不雅觀的,這時

    就可以使用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所擁有的功能一樣強大.
    下面來看幾個示例:
    普通的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的一種, 特別用來連接到該站點以外的資源, 示例:
    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的一種,實現頁面之間的跳轉: 示例:
    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的一種,實現一種可以作為書簽收藏的連接,也

    就是無狀態的連接. 可以帶參數也可以不帶參數: 示例:

    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 冰雨 閱讀(2064) 評論(1)  編輯  收藏 所屬分類: Opensource

    Feedback

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


    JSF中文技術文摘
    主站蜘蛛池模板: 天天综合亚洲色在线精品| 国产亚洲一区二区在线观看 | 亚洲国产精品嫩草影院| 最近2019中文字幕免费直播| 亚洲av最新在线网址| 91在线视频免费观看| 亚洲精品乱码久久久久久久久久久久| 国产黄在线播放免费观看| 国产亚洲av片在线观看18女人| 一级毛片视频免费| 久久久无码精品亚洲日韩软件| 精精国产www视频在线观看免费| 中文字幕亚洲激情| 久久久精品免费国产四虎| 在线免费观看亚洲| 无码少妇一区二区浪潮免费| 亚洲av无码专区在线电影天堂| 免费少妇a级毛片| 一区在线免费观看| 亚洲福利在线观看| 欧美最猛性xxxxx免费| 亚洲av无码兔费综合| 亚洲熟伦熟女新五十路熟妇 | 国产精品亚洲专一区二区三区| 亚洲国产婷婷综合在线精品| a级片免费在线观看| 亚洲国产综合在线| 国产精品免费看香蕉| 91成人免费福利网站在线| 亚洲一区二区在线视频| 好吊妞视频免费视频| 国产精品黄页免费高清在线观看| 久久亚洲精品中文字幕无码 | 91免费国产在线观看| 色欲色欲天天天www亚洲伊| 亚洲无线码一区二区三区| 伊人久久免费视频| 精品女同一区二区三区免费播放| 亚洲性猛交XXXX| 在线播放免费播放av片| 国产线视频精品免费观看视频|