数年前にNetBeansに移行した後、Webアプリケーションを作成するときのコマンドラインゲームはあまり刺激を与えません。そのため、フレームワークを使用(チェック、テスト、参照など)する必要があるときは、まずPlugin for NetBeansを検索し、失敗した場合にのみ、別の方法(私にとって)に切り替えます。 Wicketの場合、すべてがうまくいきました。 公式サイトにはIDEプラグインセクションがあり、リストにはNetBeansもありますが、そこで見つけたリンクはプラグインを見つけるのに役立ちませんでした。 次のステップは、利用可能なNetBeansプラグインを検索することでしたが、そこでも失敗が待っていました。 最後の試みは、 プラグインセクションのNetBeansサイトでの検索です。 プラグインテーブルの上にある名前検索フィールドに最初の文字を入力すると、 Wicket 1.4サポートが見つかりました(このプラグインは、NetBeans IDE 7.0のウィケットサポートを追加します)。 それをダウンロードしてインストールしました(ツール->プラグイン->ダウンロード->プラグインの追加->インストール)。 この手順の詳細については、NetBeans WebサイトのFAQを参照してください 。
プラグインをインストールした後、NetBeansは再起動を要求します。 次に、新しいWebプロジェクトを作成する必要があります。プラットフォームを選択するときは、Wicked 1.4.10を選択し、次に進みます(Java Web-> Web-Application->->-> Wicked 1.4.10(tick)->->) 。 そのため、NetBeansはHello Worldを使用してプロジェクトを生成しました。 それでは、私たちを待っているプロジェクトを見てみましょう。
      アプリケーションを起動した後、結果は表示されますが、Webページフォルダ内のファイルは表示されない場合でも、迷子にならないでください。 ただし、com.myapp.wicketパッケージには次のファイルがあります。
Application.java 
      
        
        
        
      
     BasePage.html 
      
        
        
        
      
     BasePage.java 
      
        
        
        
      
     FooterPanel.html 
      
        
        
        
      
     FooterPanel. java 
      
        
        
        
      
     HeaderPanel.html 
      
        
        
        
      
     HeaderPanel.java 
      
        
        
        
      
     HomePage.html 
      
        
        
        
      
     HomePage.java
      
      ご覧のとおり、すべてのファイルはペアになっていますが、html-javaファイルのペアの中でApplication.javaだけが際立って目立っています。 最初に実行するファイル(ページ)に関する情報が含まれています。 特定の構成を登録することもできますが、これはこの記事の範囲には含まれていません。
      ご覧のとおり、「configurator」はHomePageクラスをホームページとして返します。 このファイルを検討する前に、構造についていくつか説明します。
      この図では、 WebPageクラスとPanelクラスはネイティブWicketであり、他のすべてはNetBeansによって作成されています。 生成された各クラスには、同じ名前のペアがありますが、html拡張子が付いています。 この例では、BasePage.htmlファイルがページの一般的な構造を定義し、BasePage.javaが機能と配置されるデータ自体を決定します。 DOMを使用して、WicketはHTMLファイルから必要な要素を見つけ、対応するJavaファイルに記述したものに置き換えます。 これは、HomePage.java(左)とHomePage.html(右)を示す図を使用して簡単に説明できます。
      写真からわかるように、新しいラベルがホームページに追加されています。 2つのパラメーターを取ります。最初のパラメーターは、Wicketがラベルを挿入する場所を決定するキーワードで、2番目のパラメーターはコンテンツ自体です。 他のページとパネルの分析も同じ方法で行うことができます。読者に任せて自分でそれを行い、その間、この素晴らしいフレームワークを使用して簡単なフォームを作成する方法を紹介します。 これを行うには、最初にフォームを作成する場所を選択する必要があります。 BasePage.javaおよびBasePage.htmlとします。 最初に、HTMLフォームを作成します。
<form wicket:id="forma"> 
      
        
        
        
      
     <input type="text" wicket:id="login" /> 
      
        
        
        
      
     <input type="password" wicket:id="password" /> 
      
        
        
        
      
     /> 
      
        
        
        
      
    
      
      この単純なコードを使用して、最も単純な形式の承認を作成しました。
次に、最も興味深いもの-BasePage.javaファイルに渡します。 ここではすべてが少し複雑です。 アルゴリズムは次のとおりです。
TextFieldおよびPasswordTextFieldオブジェクトを作成して 、それらをページ要素にリンクします。 次に、 Formクラスから継承されるクラスを作成します。このクラスは、 フォームに関連付けられます。同じクラスでonSubmit()メソッドを再定義します。これは、ユーザーがデータ送信ボタンをクリックしたときに発生する処理を行います。 その後、TextFieldオブジェクトとPasswordTextFieldオブジェクトをフォームに追加し、フォームをページに追加するだけです。 ご覧のとおり、すべてが論理的であり、超自然的なものは何もありません。 以下は、BasePage.javaページのコードです。
public abstract class BasePage extends WebPage { 
      
        
        
        
      
     
      
        
        
        
      
     TextField login; 
      
        
        
        
      
     PasswordTextField password; 
      
        
        
        
      
     
      
        
        
        
      
     public BasePage() { 
      
        
        
        
      
     super(); 
      
        
        
        
      
     add(new HeaderPanel("headerpanel", "Welcome To Wicket")); 
      
        
        
        
      
     add(new FooterPanel("footerpanel", "Powered by Wicket and the NetBeans Wicket Plugin")); 
      
        
        
        
      
     add(new footer("footer")); 
      
        
        
        
      
     
      
        
        
        
      
     login = new TextField("login", new Model("")); 
      
        
        
        
      
     password = new PasswordTextField("password", new Model("")); 
      
        
        
        
      
     Form form = new LoginForm("forma"); 
      
        
        
        
      
     form.add(login); 
      
        
        
        
      
     form.add(password); 
      
        
        
        
      
     add(form); 
      
        
        
        
      
     
      
        
        
        
      
     } 
      
        
        
        
      
     
      
        
        
        
      
     class LoginForm extends Form{ 
      
        
        
        
      
     public LoginForm(String id) 
      
        
        
        
      
     { 
      
        
        
        
      
     super(id); 
      
        
        
        
      
     } 
      
        
        
        
      
     
      
        
        
        
      
     public void onSubmit() 
      
        
        
        
      
     { 
      
        
        
        
      
     System.out.println("Login:"+login.getModelObject()+" -- Password:"+password.getModelObject()); 
      
        
        
        
      
     } 
      
        
        
        
      
     } 
      
        
        
        
      
     } 
      
        
        
        
      
    
      
      以上です。 これで、ボタンをクリックすると、入力したユーザー名とパスワードがコンソールに表示されます。 すべての成功と幸福。