Wicket中的一个简单的hello world示例显示了Wicket Web应用程序的基本结构。
本文中使用的工具和技术
- Apache Wicket 1.4.17
- Eclipse 3.6
- Maven的3.0.3
- JDK 1.6.0.13
1.目录结构
请参阅此Wicket hello世界Web应用程序的最终目录结构。 在Wicket中,您需要将所有文件“ .html”和“ .java”放在同一软件包目录中。
注意
阅读此Wicket控件中HTML加载位置的控件,以了解如何在不同目录中分隔“ .html”和“ .java”。
参见下图:
请按照以下步骤创建整个目录结构。
2. Maven快速入门
通过Maven创建一个简单的Web应用程序。
mvn archetype:generate -DgroupId=com.mkyong.core -DartifactId=WicketExamples
-DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
现在,它将创建所有标准的Web文件夹结构。
3.票务依赖
在您的Maven pom.xml
文件中添加Wicket依赖项。
档案:pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mkyong.core</groupId>
<artifactId>WicketExamples</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>WicketExamples</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket</artifactId>
<version>1.4.17</version>
</dependency>
<!-- slf4j-log4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.6</version>
</dependency>
</dependencies>
<build>
<finalName>WicketExamples</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<filtering>false</filtering>
<directory>src/main/java</directory>
<includes>
<include>*</include>
</includes>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<optimise>true</optimise>
<debug>true</debug>
</configuration>
</plugin>
</plugins>
</build>
</project>
小门需要SLF4J!
您必须包括slf4j日志记录实现,否则Wicket将无法启动。
小票需要资源过滤器
记住要添加资源过滤器,如果您未定义资源过滤器以包括所有内容“ <include> * </ include> ”,“ html”,“ properties”或其他资源文件,Wicket会将所有文件放在同一包文件夹中可能无法复制到正确的目标文件夹。
4.票务应用
在Wicket中,大多数工作都是按惯例进行的 ,您无需对其进行配置。 在这种情况下, WebApplication
返回“ Hello.class”作为默认页面,当Wicket看到此“ Hello.class ”时,它知道标记的“ html”页面应为“ Hello.html ”,并且应该能够在同一软件包目录中找到。 这就是为什么Wicket需要您将“ html”和“ java”两个类放在一起。
File:MyApplication.java –主应用程序入口。
package com.mkyong;
import org.apache.wicket.Page;
import org.apache.wicket.protocol.http.WebApplication;
import com.mkyong.hello.Hello;
public class MyApplication extends WebApplication {
@Override
public Class<? extends Page> getHomePage() {
return Hello.class; //return default page
}
}
文件:Hello.java
package com.mkyong.hello;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.WebPage;
public class Hello extends WebPage {
private static final long serialVersionUID = 1L;
public Hello(final PageParameters parameters) {
add(new Label("message", "Hello World, Wicket"));
}
}
文件:Hello.html
<html>
<head>
<title>Wicket Hello World</title>
</head>
<body>
<h1>
<span wicket:id="message">message will be replace later</span>
</h1>
</body>
</html>
5.小门过滤器
要使Wicket正常运行,您需要在web.xml
文件中注册Wicket过滤器。
档案:web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>Wicket Web Application</display-name>
<filter>
<filter-name>wicket.wicketTest</filter-name>
<filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
<init-param>
<param-name>applicationClassName</param-name>
<param-value>com.mkyong.MyApplication</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>wicket.wicketTest</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
6.建立
所有文件都准备就绪,请使用Maven进行构建。
mvn eclipse:eclipse -Dwtpversion=2.0
将其导入Eclipse并启动项目。
7.测试
访问http:// localhost:8080 / WicketExamples / ,见图:
做完了
下载它– Wicket-HelloWorld-Examples.zip (6KB)
参考
翻译自: https://mkyong.com/wicket/wicket-hello-world-example-with-maven-tutorial/