Wicket学习笔记(1):入门篇

最近需要学习wicket框架,而这个框架的学习资料好像也不是很多,到处找相关的资料来进行学习。另外这个框架因为出现的也比较早,现在使用的人并不是很多,自己学习一下,也就做一些记载。

使用工具
开发工具:eclipse

我以个人通俗的理解来看这个框架,有人说这个类似ASP.NET,实际上和安卓的开发同样有点类似,不去说的有多高大上,一切白话文形式的显示,希望对像我一样的小白能有一点点小帮助即可。

1-首先创建一个dynamic web project工程,我的目录如下,都是wicket常用的控件,简单的学习了一下。
在这里插入图片描述

2-这里先看demo里边的三个文件
HelloWordApplication.java
HelloWordPage.java
HelloWordPage.html

这里边HelloWordApplication 相当于一个入口,这个会在web.xml里边进行配置,然后调用Hello WordPage.java。这里边HelloWordPage.java
HelloWordPage.html,两个的名字是一样的,也必须是一样的。下面看看每个文件内容

HelloWorldApplication.java

package hyron.wicket.demo;

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

import hyron.wicket.bookmarkablepagelink.BookMarkablePage;
import hyron.wicket.border.BorderPage;
import hyron.wicket.box.CheckBoxPage;
import hyron.wicket.button.ButtonPage;
import hyron.wicket.checkgroup.CheckGroupPage;
import hyron.wicket.container.WebMarkupContainerPage;
import hyron.wicket.downloadlink.DownloadLinkPage;
import hyron.wicket.dropdownchoice.DropdownChoicePage;
import hyron.wicket.externallink.ExternalLinkPage;
import hyron.wicket.image.ImagePage;
import hyron.wicket.include.IncludePage;
import hyron.wicket.link.LinkPage;
import hyron.wicket.listview.ListViewPage;
import hyron.wicket.pagelink.PageLInkPage;
import hyron.wicket.pagetablelistview.PagetableListPage;
import hyron.wicket.popupsetting.PopupLinkPage;
import hyron.wicket.textfield.TextFieldPage;
import hyron.wicket.userresist.UserResistPage;
//import wicket.protocol.http.WebApplication;

public class HelloWorldApplication extends WebApplication{
	@Override
	public Class<? extends Page> getHomePage() 
		// http://localhost:8080/Wicket/helloWorld
		{ 
			return HelloWorldPage.class;
			//return WebMarkupContainerPage.class;
			//return BorderPage.class;
			//return IncludePage.class;
			//return ExternalLinkPage.class;
			//return PageLInkPage.class;
			//return BookMarkablePage.class;
			//return DownloadLinkPage.class;
			//return PopupLinkPage.class;
			//return ButtonPage.class;
			//return TextFieldPage.class;
			//return CheckBoxPage.class;
			//return CheckGroupPage.class;
		    //return  DropdownChoicePage.class;
			//return ImagePage.class;
			//return ListViewPage.class;
			//return PagetableListPage.class;
			//return UserResistPage.class;
		}
}


HelloWorldPage.java

package hyron.wicket.demo;

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

public class HelloWorldPage extends WebPage{
	
	private static final long serialVerssionUID = 1L;
	
	public HelloWorldPage() {
		
		super();
		
		add(new Label("message", "HelloWorld!"));
		
		add(new Label("birthday","20200202"));
		
		Label label=new Label("escape","<span>message</span>");
		
		add(label);
	}
}

HelloWorldPage.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

   1/span控件的测试
   <br>
   <span wicket:id="message"> 我要在这里输出helloword </span>
   <br>
   2/label控件的测试
   <br>
   这里所有的申明的wicket id都必须要在Java类中对应
   <br>
   <label wicket:id="birthday">这里输出用户生日信息</label>
   <br>
   <label wicket:id="escape">测试</label>
</body>
</html>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>Wicket</display-name>
  
 <- 这里使用的是filter也可以使用servlet但是filter可以实现更加强大的功能 ->
<filter>
		<filter-name>HelloWorldApplication</filter-name>
		<filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
		<init-param>
			<param-name>applicationClassName</param-name>
			<param-value>hyron.wicket.demo.HelloWorldApplication</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>HelloWorldApplication</filter-name>
		<url-pattern>/helloWorld/*</url-pattern>
	</filter-mapping>

</web-app>

http://localhost:8080/Wicket/helloWorld/
运行效果:
在这里插入图片描述

扫描二维码关注公众号,回复: 9214647 查看本文章

说明:
wicket:id="birthday"这个是wicket框架的最重要的东西了,所有的定义的ID,都需要在于该html同名的Java类里边进行指定使用,如:add(new Label(“birthday”,“20200202”));

可以写成
Label label = new Label(“birthday”,“20200202”));
add(label);这个样子的形式

获取ID为birthday的wicket控件,并且新建对象Label 用以获取对应,并且给予一个值,然后使用add将控件添加到页面容器内,才能最终形成一个页面。

我将整个工程文件放在下面,这些只是部分wicket控件的简单使用,需要使用的可以下载使用。

百度网盘链接: https://pan.baidu.com/s/1ZsP8mqtP7gPatp9bZVKv8A
提取码: 2tnn

CSDN上文件路径:
https://download.csdn.net/download/zxx123123121/12159351

发布了7 篇原创文章 · 获赞 7 · 访问量 89

猜你喜欢

转载自blog.csdn.net/zxx123123121/article/details/104335373