我无法运行我的apache wicket示例程序

时间:2014-02-12 12:33:16

标签: wicket

我是java wicket的新手。我不明白如何运行此代码。我的检票口程序遵循以下结构。我的问题是我无法运行它。我收到404错误。

这是我的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;
    }
}

2 个答案:

答案 0 :(得分:1)

开始回答你的许多问题:

  1. 由于HelloWord.html中的HTML格式错误,您的程序很可能会返回404。 Wicket需要使用valis XHTML。

  2. getHomePage()的原始签名是public abstract Class<? extends Page> getHomePage()。您可以像完成合同一样实施它。该方法返回用于呈现Web应用程序主页的类。这是您的应用程序的base-url上显示的页面,没有任何挂载点或参数。

  3. 您不需要 WebApplication的默认构造函数,但可以实现一个以执行应用程序所需的一些初始化。它在您的应用程序开始时运行一次(或者在大多数情况下是您的容器)。

答案 1 :(得分:0)

尝试使用此html:

<!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(除非你更改了端口),wicket应该将你重定向到你的HelloWorld页面