2014-02-12 54 views
0

我對java wicket非常陌生。我不明白如何運行此代碼。我的檢票程序遵循以下結構。我的問題是我無法運行這個。我收到了404錯誤。我無法運行我的apache wicket示例程序

這是我的wicket代碼來獲取hello world消息。

HelloWorld.html的:

<html xmlns:wicket> 
    <title>Hello World</title> 
</head> 
<body> 
    <span wicket:id="message" id="message">Message goes here</span> 
</body> 
</html> 
</html> 

HelloWorld.java:

package com.sensiple.wicket; 

import org.apache.wicket.markup.html.WebPage; 
import org.apache.wicket.markup.html.basic.Label; 

public class HelloWorld extends WebPage { 

    public HelloWorld() { 
     add(new Label("message", "Hello World!")); 
    } 
} 

該類返回的hello world這是在HelloWorld.html的

HelloWorldApplication.java要打印:

package com.sensiple.wicket; 

import org.apache.wicket.protocol.http.WebApplication; 

public class HelloWorldApplication extends WebApplication { 

//what is the need of this constructor, need of this class in this program 
    public HelloWorldApplication() { 
    } 

我也需要知道getHomePage方法的用途,因爲我沒有得到什麼是使用一個更多的類在這裏返回類型爲HelloWorld。幾乎我無法運行此代碼。我經歷了許多沒有幫助的資源。

public Class<HelloWorld> getHomePage() { 
     System.out.println("initialized!!!!"); 
     return HelloWorld.class; 
    } 
} 
+0

我試着理解您提供的代碼並將其重新格式化爲可讀狀態。請檢查一切是否與您的代碼相符。如果確實如此:您的HTML錯誤(無法啓動標記,關閉標記...) – Nicktar

回答

1

要開始回答您的很多問題:

  1. 你的程序是最有可能返回404因您的HelloWord.html畸形的HTML。 Wicket需要使用valis XHTML。

  2. getHomePage()的原始簽名是public abstract Class<? extends Page> getHomePage()。您可以像執行合同時那樣執行它。該方法返回用於呈現Web應用程序主頁的類。這是在沒有任何掛載點或參數的情況下在應用程序的基礎URL處顯示的頁面。

  3. 你並不需要默認的構造你的WebApplication的,但你可以實現一個做一些必要爲您的應用initialisations的。它在你的應用程序開始時運行一次(或者在大多數情況下是你的容器)。

0

嘗試使用這個網站:

<!DOCTYPE html> 
<html xmlns:wicket="http://wicket.apache.org"> 
<head> 
    <title>Hello World</title> 
</head> 
<body> 
    <span wicket:id="message"></span> 
</body> 
</html> 

當你的應用程序運行時,只需撥打http://localhost:8080(除非你改變了端口)和檢票口,你應該重定向到您的HelloWorld頁面