本文主要是简单介绍一下Geoserver界面的扩展,Geoserver界面的开发主要是利用了Wicket(Java平台下一个面向组件的Web应用程序开发框架),以可以像Plug-ins一样扩展Geoserver界面,下面进入具体的实现细节:
目录
1.创建模块[hello-web]
(1)运行IntelliJ,在src目录下New -> [Module...],选择Maven,填入GroupId、ArtifactId、Version等信息,也可以在创建好模块后手动填写

(2)打开pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.geoserver</groupId>
<artifactId>web</artifactId>
<version>2.19.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.geoserver</groupId>
<artifactId>hello-web</artifactId>
<packaging>jar</packaging>
<version>1.0.0</version>
<name>hello-web</name>
<dependencies>
<dependency>
<groupId>org.geoserver.web</groupId>
<artifactId>gs-web-core</artifactId>
<version>2.19.0</version>
</dependency>
</dependencies>
</project>
2.创建页面类HelloPage
(1)在hello-web/src/main/java创建HelloPage.java,并继承GeoServerBasePage
package org.geoserver.helloweb;
import org.apache.wicket.markup.html.basic.Label;
import org.geoserver.web.GeoServerBasePage;
public class HelloPage extends GeoServerBasePage {
public HelloPage() {
add(new Label("hellolabel", "Hello World!"));
}
}
(2)在同级目录下添加HelloPage.html
<html>
<body>
<wicket:extend>
<div wicket:id="hellolabel"></div>
</wicket:extend>
</body>
</html>
3.添加资源文件
(1)在hello-web/src/main/resources添加GeoServerApplication.properties文件
HelloPage.page.title=Hello
HelloPage.page.description=A page to say hello
HelloPage.title=Hello Page Title
HelloPage.description=This is the description of the page
4.添加Spring配置文件
(1)在hello-web/src/main/java目录下添加applicationContext.xml
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="helloPage" class="org.geoserver.web.MenuPageInfo">
<property name="id" value="helloPage"/>
<property name="titleKey" value="HelloPage.page.title"/>
<property name="descriptionKey" value="HelloPage.page.description"/>
<property name="componentClass" value="org.geoserver.helloweb.HelloPage"/>
</bean>
</beans>
(2)最终的目录结构如下:

5.生成模块
(1)在Terminal下,切换到hello-web目录下,输入mvn install

(2)把target目录下生成的jar包拷贝到src\web\app\target\geoserver\WEB-INF\lib

(3)在web/pom.xml添加依赖
</dependency>
<dependency>
<groupId>org.geoserver</groupId>
<artifactId>hello-web</artifactId>
<version>1.0.0</version>
</dependency>
(4)更新一下maven,Start...


本文详细介绍了如何使用Wicket框架扩展Geoserver的用户界面。通过创建模块、定义页面类HelloPage、添加资源文件、配置Spring以及生成模块的步骤,将Java组件化的Web应用开发应用于Geoserver的界面扩展。
600





