改札:HelloWorld

最近、素晴らしいWicketフレームワークの研究を始めました。 残念ながら、RuNetにはこれに関する情報がほとんどないため、ここではその機能の一部を紹介します。 そして、忘れないように書いてください。

Wicketは、Webアプリケーション用のユーザーインターフェイスを記述するためのフレームワークです。これにより、ほとんどのタスクをJavaで実装できます。 すべての利点についての詳細は、 オフサイトに記載されています。 例はありますが、個人的にはあまり好きではありませんでしたので、興味のある人は「Wicket in action」という本(英語)に目を通すことをお勧めします(翻訳を完全に翻訳することはまずないでしょうが、そこからいくつかのグッズを紹介します)。 そして今、ポイントに。 プロジェクトを作成するには(私はmavenを使用しています)簡単な呪文を書きます



mvn archetype:create -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=1.4.7 -DgroupId=ru.habrahabr.helowicket -DartifactId=helloworld







これによりプロジェクトが作成されます。 その結果、3つのファイルを持つプロジェクトを取得します:WicketApplication.javaという名前のファイル、
package ru.habrahabr.helowicket;<br><br>import org.apache.wicket.protocol.http.WebApplication;<br><br> public class WicketApplication extends WebApplication<br>{ <br> public WicketApplication()<br> {<br> }<br> public Class<HomePage> getHomePage()<br> {<br> return HomePage. class ;<br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .



HomePage.htmlファイルとHomePage.javaファイルには、それぞれページのレイアウトとロジックが含まれています(ファイルは同じ名前で、拡張子が異なる必要があります)。

HomePage.html
< html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < strong > Wicket Quickstart Archetype Homepage </ strong > <br> < br />< br /> <br> < span wicket:id ="message" > message will be here </ span > <br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .





HomePage.java
package ru.habrahabr;<br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.markup.html.WebPage;<br><br> public class HomePage extends WebPage {<br><br> private static final long serialVersionUID = 1L;<br><br> public HomePage(final PageParameters parameters) {<br> add( new Label( "message" , "If you see this message wicket is properly configured and running" ));<br> }<br>} <br><br> * This source code was highlighted with Source Code Highlighter .



意味ははっきりしていると思いますが、2語でコメントします。 マークアップファイルには次の行が含まれています
< span wicket:id ="message" > message will be here </ span > <br><br> * This source code was highlighted with Source Code Highlighter .



おかげで、Javaコードでは、文字列を使用してこの要素にアクセスすることが可能になります

add(new Label("message", "If you see this message wicket is properly configured and running"));





その後、このオブジェクトを操作できます。 つまり、属性(wicket:id)を介して、アプリケーションがサーバー側で実行されているときに作成されたオブジェクトとマークアップタグが比較されます。



add(new Label("message", new Date().toString()));







表示されないマークアップファイルからのメッセージ"message will be here"



注意してください。 どのように機能するかは、お気に入りのIDEのマジックボタンをクリックすることで確認できます。 たとえば、Eclipseでプロジェクトを開くには、 mvn eclipse:eclipse -DdownloadSources=true



を使用しmvn eclipse:eclipse -DdownloadSources=true



。プロジェクトディレクトリでmvn eclipse:eclipse -DdownloadSources=true



使用しmvn eclipse:eclipse -DdownloadSources=true



。 スペルの完全なリストは、WicketのWebサイトにあります。 mvn tomcat:run .

AJAX. , . : < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .



. label link . java : public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br> <br> * This source code was highlighted with Source Code Highlighter .



label . link . , PropertyModel (this) "time", . .



" ". SiteMech , Wicket . , - <wicket:child/> <wicket:extend> . java ( BasePage) HomePage. :

BasePage.html < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < body > <br> < div > <br> <!-- --> <br> < span wicket:id ="bpspan" ></ span > <br> < wicket:child /> <br> <!-- - --> <br> </ div > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .





BasePage.java package ru.habranabr.helowicket;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.WebPage;<br>import org.apache.wicket.markup.html.basic.Label;<br><br> /** <br> * @author office <br> */ <br> public class BasePage extends WebPage {<br><br> public BasePage(final PageParameters parameters) {<br> super(parameters);<br> add( new Label( "bpspan" , "Hello from BasePage!" ));<br> }<br>}<br><br> <br> * This source code was highlighted with Source Code Highlighter .





HomePage.html < wicket:extend > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ wicket:extend > <br><br> * This source code was highlighted with Source Code Highlighter .





HomePage.java import java.util.Date;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.ajax.AjaxRequestTarget;<br>import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.model.PropertyModel;<br><br> public class HomePage extends BasePage {<br><br> private static final long serialVersionUID = 1L;<br> private Label label;<br> private String time;<br> <br> public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .



. - Wicket', , .



PS. , .








入力することで簡単にmvn tomcat:run



.

AJAX. , . : < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .



. label link . java : public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br> <br> * This source code was highlighted with Source Code Highlighter .



label . link . , PropertyModel (this) "time", . .



" ". SiteMech , Wicket . , - <wicket:child/> <wicket:extend> . java ( BasePage) HomePage. :

BasePage.html < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < body > <br> < div > <br> <!-- --> <br> < span wicket:id ="bpspan" ></ span > <br> < wicket:child /> <br> <!-- - --> <br> </ div > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .





BasePage.java package ru.habranabr.helowicket;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.WebPage;<br>import org.apache.wicket.markup.html.basic.Label;<br><br> /** <br> * @author office <br> */ <br> public class BasePage extends WebPage {<br><br> public BasePage(final PageParameters parameters) {<br> super(parameters);<br> add( new Label( "bpspan" , "Hello from BasePage!" ));<br> }<br>}<br><br> <br> * This source code was highlighted with Source Code Highlighter .





HomePage.html < wicket:extend > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ wicket:extend > <br><br> * This source code was highlighted with Source Code Highlighter .





HomePage.java import java.util.Date;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.ajax.AjaxRequestTarget;<br>import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.model.PropertyModel;<br><br> public class HomePage extends BasePage {<br><br> private static final long serialVersionUID = 1L;<br> private Label label;<br> private String time;<br> <br> public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .



. - Wicket', , .



PS. , .




mvn tomcat:run



.

AJAX. , . : < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .



. label link . java : public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br> <br> * This source code was highlighted with Source Code Highlighter .



label . link . , PropertyModel (this) "time", . .



" ". SiteMech , Wicket . , - <wicket:child/> <wicket:extend> . java ( BasePage) HomePage. :

BasePage.html < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < body > <br> < div > <br> <!-- --> <br> < span wicket:id ="bpspan" ></ span > <br> < wicket:child /> <br> <!-- - --> <br> </ div > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .





BasePage.java package ru.habranabr.helowicket;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.WebPage;<br>import org.apache.wicket.markup.html.basic.Label;<br><br> /** <br> * @author office <br> */ <br> public class BasePage extends WebPage {<br><br> public BasePage(final PageParameters parameters) {<br> super(parameters);<br> add( new Label( "bpspan" , "Hello from BasePage!" ));<br> }<br>}<br><br> <br> * This source code was highlighted with Source Code Highlighter .





HomePage.html < wicket:extend > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ wicket:extend > <br><br> * This source code was highlighted with Source Code Highlighter .





HomePage.java import java.util.Date;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.ajax.AjaxRequestTarget;<br>import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.model.PropertyModel;<br><br> public class HomePage extends BasePage {<br><br> private static final long serialVersionUID = 1L;<br> private Label label;<br> private String time;<br> <br> public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .



. - Wicket', , .



PS. , .




mvn tomcat:run



.

AJAX. , . : < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter . . label link . java : public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br> <br> * This source code was highlighted with Source Code Highlighter .



label . link . , PropertyModel (this) "time", . .



" ". SiteMech , Wicket . , - <wicket:child/> <wicket:extend> . java ( BasePage) HomePage. :

BasePage.html < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < body > <br> < div > <br> <!-- --> <br> < span wicket:id ="bpspan" ></ span > <br> < wicket:child /> <br> <!-- - --> <br> </ div > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .





BasePage.java package ru.habranabr.helowicket;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.WebPage;<br>import org.apache.wicket.markup.html.basic.Label;<br><br> /** <br> * @author office <br> */ <br> public class BasePage extends WebPage {<br><br> public BasePage(final PageParameters parameters) {<br> super(parameters);<br> add( new Label( "bpspan" , "Hello from BasePage!" ));<br> }<br>}<br><br> <br> * This source code was highlighted with Source Code Highlighter .





HomePage.html < wicket:extend > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ wicket:extend > <br><br> * This source code was highlighted with Source Code Highlighter .





HomePage.java import java.util.Date;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.ajax.AjaxRequestTarget;<br>import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.model.PropertyModel;<br><br> public class HomePage extends BasePage {<br><br> private static final long serialVersionUID = 1L;<br> private Label label;<br> private String time;<br> <br> public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .



. - Wicket', , .



PS. , .








mvn tomcat:run



.

AJAX. , . : < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .



. label link . java : public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br> <br> * This source code was highlighted with Source Code Highlighter .



label . link . , PropertyModel (this) "time", . .



" ". SiteMech , Wicket . , - <wicket:child/> <wicket:extend> . java ( BasePage) HomePage. :

BasePage.html < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < body > <br> < div > <br> <!-- --> <br> < span wicket:id ="bpspan" ></ span > <br> < wicket:child /> <br> <!-- - --> <br> </ div > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .





BasePage.java package ru.habranabr.helowicket;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.WebPage;<br>import org.apache.wicket.markup.html.basic.Label;<br><br> /** <br> * @author office <br> */ <br> public class BasePage extends WebPage {<br><br> public BasePage(final PageParameters parameters) {<br> super(parameters);<br> add( new Label( "bpspan" , "Hello from BasePage!" ));<br> }<br>}<br><br> <br> * This source code was highlighted with Source Code Highlighter .





HomePage.html < wicket:extend > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ wicket:extend > <br><br> * This source code was highlighted with Source Code Highlighter .





HomePage.java import java.util.Date;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.ajax.AjaxRequestTarget;<br>import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.model.PropertyModel;<br><br> public class HomePage extends BasePage {<br><br> private static final long serialVersionUID = 1L;<br> private Label label;<br> private String time;<br> <br> public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .



. - Wicket', , .



PS. , .




mvn tomcat:run



.

AJAX. , . : < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .



. label link . java : public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br> <br> * This source code was highlighted with Source Code Highlighter . label . link . , PropertyModel (this) "time", . .



" ". SiteMech , Wicket . , - <wicket:child/> <wicket:extend> . java ( BasePage) HomePage. :

BasePage.html < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < body > <br> < div > <br> <!-- --> <br> < span wicket:id ="bpspan" ></ span > <br> < wicket:child /> <br> <!-- - --> <br> </ div > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .





BasePage.java package ru.habranabr.helowicket;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.WebPage;<br>import org.apache.wicket.markup.html.basic.Label;<br><br> /** <br> * @author office <br> */ <br> public class BasePage extends WebPage {<br><br> public BasePage(final PageParameters parameters) {<br> super(parameters);<br> add( new Label( "bpspan" , "Hello from BasePage!" ));<br> }<br>}<br><br> <br> * This source code was highlighted with Source Code Highlighter .





HomePage.html < wicket:extend > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ wicket:extend > <br><br> * This source code was highlighted with Source Code Highlighter .





HomePage.java import java.util.Date;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.ajax.AjaxRequestTarget;<br>import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.model.PropertyModel;<br><br> public class HomePage extends BasePage {<br><br> private static final long serialVersionUID = 1L;<br> private Label label;<br> private String time;<br> <br> public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .



. - Wicket', , .



PS. , .








mvn tomcat:run



.

AJAX. , . : < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .



. label link . java : public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br> <br> * This source code was highlighted with Source Code Highlighter .



label . link . , PropertyModel (this) "time", . .



" ". SiteMech , Wicket . , - <wicket:child/> <wicket:extend> . java ( BasePage) HomePage. :

BasePage.html < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < body > <br> < div > <br> <!-- --> <br> < span wicket:id ="bpspan" ></ span > <br> < wicket:child /> <br> <!-- - --> <br> </ div > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .





BasePage.java package ru.habranabr.helowicket;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.WebPage;<br>import org.apache.wicket.markup.html.basic.Label;<br><br> /** <br> * @author office <br> */ <br> public class BasePage extends WebPage {<br><br> public BasePage(final PageParameters parameters) {<br> super(parameters);<br> add( new Label( "bpspan" , "Hello from BasePage!" ));<br> }<br>}<br><br> <br> * This source code was highlighted with Source Code Highlighter .





HomePage.html < wicket:extend > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ wicket:extend > <br><br> * This source code was highlighted with Source Code Highlighter .





HomePage.java import java.util.Date;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.ajax.AjaxRequestTarget;<br>import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.model.PropertyModel;<br><br> public class HomePage extends BasePage {<br><br> private static final long serialVersionUID = 1L;<br> private Label label;<br> private String time;<br> <br> public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .



. - Wicket', , .



PS. , .




mvn tomcat:run



.

AJAX. , . : < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .



. label link . java : public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br> <br> * This source code was highlighted with Source Code Highlighter .



label . link . , PropertyModel (this) "time", . .



" ". SiteMech , Wicket . , - <wicket:child/> <wicket:extend> . java ( BasePage) HomePage. :

BasePage.html < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < body > <br> < div > <br> <!-- --> <br> < span wicket:id ="bpspan" ></ span > <br> < wicket:child /> <br> <!-- - --> <br> </ div > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .

BasePage.java package ru.habranabr.helowicket;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.WebPage;<br>import org.apache.wicket.markup.html.basic.Label;<br><br> /** <br> * @author office <br> */ <br> public class BasePage extends WebPage {<br><br> public BasePage(final PageParameters parameters) {<br> super(parameters);<br> add( new Label( "bpspan" , "Hello from BasePage!" ));<br> }<br>}<br><br> <br> * This source code was highlighted with Source Code Highlighter .





HomePage.html < wicket:extend > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ wicket:extend > <br><br> * This source code was highlighted with Source Code Highlighter .





HomePage.java import java.util.Date;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.ajax.AjaxRequestTarget;<br>import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.model.PropertyModel;<br><br> public class HomePage extends BasePage {<br><br> private static final long serialVersionUID = 1L;<br> private Label label;<br> private String time;<br> <br> public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .



. - Wicket', , .



PS. , .








mvn tomcat:run



.

AJAX. , . : < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .



. label link . java : public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br> <br> * This source code was highlighted with Source Code Highlighter .



label . link . , PropertyModel (this) "time", . .



" ". SiteMech , Wicket . , - <wicket:child/> <wicket:extend> . java ( BasePage) HomePage. :

BasePage.html < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < body > <br> < div > <br> <!-- --> <br> < span wicket:id ="bpspan" ></ span > <br> < wicket:child /> <br> <!-- - --> <br> </ div > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .





BasePage.java package ru.habranabr.helowicket;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.WebPage;<br>import org.apache.wicket.markup.html.basic.Label;<br><br> /** <br> * @author office <br> */ <br> public class BasePage extends WebPage {<br><br> public BasePage(final PageParameters parameters) {<br> super(parameters);<br> add( new Label( "bpspan" , "Hello from BasePage!" ));<br> }<br>}<br><br> <br> * This source code was highlighted with Source Code Highlighter .





HomePage.html < wicket:extend > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ wicket:extend > <br><br> * This source code was highlighted with Source Code Highlighter .





HomePage.java import java.util.Date;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.ajax.AjaxRequestTarget;<br>import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.model.PropertyModel;<br><br> public class HomePage extends BasePage {<br><br> private static final long serialVersionUID = 1L;<br> private Label label;<br> private String time;<br> <br> public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .



. - Wicket', , .



PS. , .




mvn tomcat:run



.

AJAX. , . : < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .



. label link . java : public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br> <br> * This source code was highlighted with Source Code Highlighter .



label . link . , PropertyModel (this) "time", . .



" ". SiteMech , Wicket . , - <wicket:child/> <wicket:extend> . java ( BasePage) HomePage. :

BasePage.html < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < body > <br> < div > <br> <!-- --> <br> < span wicket:id ="bpspan" ></ span > <br> < wicket:child /> <br> <!-- - --> <br> </ div > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .





BasePage.java package ru.habranabr.helowicket;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.WebPage;<br>import org.apache.wicket.markup.html.basic.Label;<br><br> /** <br> * @author office <br> */ <br> public class BasePage extends WebPage {<br><br> public BasePage(final PageParameters parameters) {<br> super(parameters);<br> add( new Label( "bpspan" , "Hello from BasePage!" ));<br> }<br>}<br><br> <br> * This source code was highlighted with Source Code Highlighter .

HomePage.html < wicket:extend > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ wicket:extend > <br><br> * This source code was highlighted with Source Code Highlighter .





HomePage.java import java.util.Date;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.ajax.AjaxRequestTarget;<br>import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.model.PropertyModel;<br><br> public class HomePage extends BasePage {<br><br> private static final long serialVersionUID = 1L;<br> private Label label;<br> private String time;<br> <br> public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .



. - Wicket', , .



PS. , .








mvn tomcat:run



.

AJAX. , . : < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .



. label link . java : public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br> <br> * This source code was highlighted with Source Code Highlighter .



label . link . , PropertyModel (this) "time", . .



" ". SiteMech , Wicket . , - <wicket:child/> <wicket:extend> . java ( BasePage) HomePage. :

BasePage.html < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < body > <br> < div > <br> <!-- --> <br> < span wicket:id ="bpspan" ></ span > <br> < wicket:child /> <br> <!-- - --> <br> </ div > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .





BasePage.java package ru.habranabr.helowicket;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.WebPage;<br>import org.apache.wicket.markup.html.basic.Label;<br><br> /** <br> * @author office <br> */ <br> public class BasePage extends WebPage {<br><br> public BasePage(final PageParameters parameters) {<br> super(parameters);<br> add( new Label( "bpspan" , "Hello from BasePage!" ));<br> }<br>}<br><br> <br> * This source code was highlighted with Source Code Highlighter .





HomePage.html < wicket:extend > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ wicket:extend > <br><br> * This source code was highlighted with Source Code Highlighter .





HomePage.java import java.util.Date;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.ajax.AjaxRequestTarget;<br>import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.model.PropertyModel;<br><br> public class HomePage extends BasePage {<br><br> private static final long serialVersionUID = 1L;<br> private Label label;<br> private String time;<br> <br> public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .



. - Wicket', , .



PS. , .




mvn tomcat:run



.

AJAX. , . : < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .



. label link . java : public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br> <br> * This source code was highlighted with Source Code Highlighter .



label . link . , PropertyModel (this) "time", . .



" ". SiteMech , Wicket . , - <wicket:child/> <wicket:extend> . java ( BasePage) HomePage. :

BasePage.html < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < body > <br> < div > <br> <!-- --> <br> < span wicket:id ="bpspan" ></ span > <br> < wicket:child /> <br> <!-- - --> <br> </ div > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .





BasePage.java package ru.habranabr.helowicket;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.WebPage;<br>import org.apache.wicket.markup.html.basic.Label;<br><br> /** <br> * @author office <br> */ <br> public class BasePage extends WebPage {<br><br> public BasePage(final PageParameters parameters) {<br> super(parameters);<br> add( new Label( "bpspan" , "Hello from BasePage!" ));<br> }<br>}<br><br> <br> * This source code was highlighted with Source Code Highlighter .





HomePage.html < wicket:extend > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ wicket:extend > <br><br> * This source code was highlighted with Source Code Highlighter .

HomePage.java import java.util.Date;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.ajax.AjaxRequestTarget;<br>import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.model.PropertyModel;<br><br> public class HomePage extends BasePage {<br><br> private static final long serialVersionUID = 1L;<br> private Label label;<br> private String time;<br> <br> public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .



. - Wicket', , .



PS. , .








mvn tomcat:run



.

AJAX. , . : < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .



. label link . java : public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br> <br> * This source code was highlighted with Source Code Highlighter .



label . link . , PropertyModel (this) "time", . .



" ". SiteMech , Wicket . , - <wicket:child/> <wicket:extend> . java ( BasePage) HomePage. :

BasePage.html < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < body > <br> < div > <br> <!-- --> <br> < span wicket:id ="bpspan" ></ span > <br> < wicket:child /> <br> <!-- - --> <br> </ div > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .





BasePage.java package ru.habranabr.helowicket;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.WebPage;<br>import org.apache.wicket.markup.html.basic.Label;<br><br> /** <br> * @author office <br> */ <br> public class BasePage extends WebPage {<br><br> public BasePage(final PageParameters parameters) {<br> super(parameters);<br> add( new Label( "bpspan" , "Hello from BasePage!" ));<br> }<br>}<br><br> <br> * This source code was highlighted with Source Code Highlighter .





HomePage.html < wicket:extend > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ wicket:extend > <br><br> * This source code was highlighted with Source Code Highlighter .





HomePage.java import java.util.Date;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.ajax.AjaxRequestTarget;<br>import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.model.PropertyModel;<br><br> public class HomePage extends BasePage {<br><br> private static final long serialVersionUID = 1L;<br> private Label label;<br> private String time;<br> <br> public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .



. - Wicket', , .



PS. , .




mvn tomcat:run



.

AJAX. , . : < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .



. label link . java : public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br> <br> * This source code was highlighted with Source Code Highlighter .



label . link . , PropertyModel (this) "time", . .



" ". SiteMech , Wicket . , - <wicket:child/> <wicket:extend> . java ( BasePage) HomePage. :

BasePage.html < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < body > <br> < div > <br> <!-- --> <br> < span wicket:id ="bpspan" ></ span > <br> < wicket:child /> <br> <!-- - --> <br> </ div > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .





BasePage.java package ru.habranabr.helowicket;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.WebPage;<br>import org.apache.wicket.markup.html.basic.Label;<br><br> /** <br> * @author office <br> */ <br> public class BasePage extends WebPage {<br><br> public BasePage(final PageParameters parameters) {<br> super(parameters);<br> add( new Label( "bpspan" , "Hello from BasePage!" ));<br> }<br>}<br><br> <br> * This source code was highlighted with Source Code Highlighter .





HomePage.html < wicket:extend > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ wicket:extend > <br><br> * This source code was highlighted with Source Code Highlighter .





HomePage.java import java.util.Date;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.ajax.AjaxRequestTarget;<br>import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.model.PropertyModel;<br><br> public class HomePage extends BasePage {<br><br> private static final long serialVersionUID = 1L;<br> private Label label;<br> private String time;<br> <br> public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter . . - Wicket', , .



PS. , .








mvn tomcat:run



.

AJAX. , . : < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < head > <br> < title > Wicket Quickstart Archetype Homepage </ title > <br> </ head > <br> < body > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ body > <br> </ html > <br> <br> * This source code was highlighted with Source Code Highlighter .



. label link . java : public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br> <br> * This source code was highlighted with Source Code Highlighter .



label . link . , PropertyModel (this) "time", . .



" ". SiteMech , Wicket . , - <wicket:child/> <wicket:extend> . java ( BasePage) HomePage. :

BasePage.html < html xmlns:wicket ="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" > <br> < body > <br> < div > <br> <!-- --> <br> < span wicket:id ="bpspan" ></ span > <br> < wicket:child /> <br> <!-- - --> <br> </ div > <br> </ body > <br> </ html > <br><br> * This source code was highlighted with Source Code Highlighter .





BasePage.java package ru.habranabr.helowicket;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.markup.html.WebPage;<br>import org.apache.wicket.markup.html.basic.Label;<br><br> /** <br> * @author office <br> */ <br> public class BasePage extends WebPage {<br><br> public BasePage(final PageParameters parameters) {<br> super(parameters);<br> add( new Label( "bpspan" , "Hello from BasePage!" ));<br> }<br>}<br><br> <br> * This source code was highlighted with Source Code Highlighter .





HomePage.html < wicket:extend > <br> < a href ="#" wicket:id ="link" > This link </ a > has been clicked<br> < span wicket:id ="label" > 123 </ span > times.<br> </ wicket:extend > <br><br> * This source code was highlighted with Source Code Highlighter .





HomePage.java import java.util.Date;<br><br>import org.apache.wicket.PageParameters;<br>import org.apache.wicket.ajax.AjaxRequestTarget;<br>import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;<br>import org.apache.wicket.markup.html.basic.Label;<br>import org.apache.wicket.model.PropertyModel;<br><br> public class HomePage extends BasePage {<br><br> private static final long serialVersionUID = 1L;<br> private Label label;<br> private String time;<br> <br> public HomePage(final PageParameters parameters) {<br> super(parameters);<br> add( new AjaxFallbackLink( "link" ) { <br> @Override<br> public void onClick(AjaxRequestTarget target) { <br> time = new Date().toString();<br> if (target != null ) { <br> target.addComponent(label); <br> }<br> }<br> });<br> label = new Label( "label" , new PropertyModel( this , "time" ));<br> label.setOutputMarkupId( true );<br> add(label);<br> <br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .



. - Wicket', , .



PS. , .







All Articles