apache wicket 7.X让html回归webapp目录下
2015-08-19 20:58
435 查看
在上篇文章我们看到了用wicket开发的第一个程序。但是有点是非常不好的,就是html页面跟Java在同一目录下,这跟我们平时开发,是不同的,如果页面过多,后期维护也是很麻烦的。这篇文章我们就来说下,怎么把html放在webapp下了?
先来看下修改后的项目结构:
![](https://img-blog.csdn.net/20150819205133364?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
看下MyLcator.java这个文件:
package cn.ztz.application;
import java.net.URL;
import org.apache.wicket.core.util.resource.UrlResourceStream;
import org.apache.wicket.core.util.resource.locator.ResourceStreamLocator;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.util.resource.IResourceStream;
/**
*
* @author azhong
* 2015-08-19 20:52:47
*/
public class MyLocator extends ResourceStreamLocator {
@Override
public IResourceStream locate(Class<?> clazz, String path) {
String extension = path.substring(path.lastIndexOf(".") + 1);
String clazzName=clazz.getName();
String fileName=clazzName.substring(clazzName.lastIndexOf(".")+1);
URL url;
try{
url=WebApplication.get().getServletContext().getResource("/"+fileName+"."+extension);
if(url!=null){
return new UrlResourceStream(url);
}
}catch(Exception e){
e.printStackTrace();
}
return super.locate(clazz, path);
}
}
HelloWorldApplication.java
package cn.ztz.application;
import org.apache.wicket.Page;
import org.apache.wicket.protocol.http.WebApplication;
/**
* @author azhong
* @version 1.0
* 2015-08-19 20:54:04
*
*/
public class HelloWorldApplication extends WebApplication {
@Override
public Class<? extends Page> getHomePage() {
return HelloWorld.class;
}
//初始化加载路径就可以了
@Override
protected void init() {
getResourceSettings().setResourceStreamLocator(new MyLocator());
}
}
HelloWorld.java
package cn.ztz.application;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
/**
* @author azhong
* @version 1.0
* 2015-08-19 20:53:24
*
*/
public class HelloWorld extends WebPage {
public HelloWorld(){
add(new Label("message","Hello world----wicket"));
}
}
现在大功告成,就是这么简单。
其实还有种方法也能实现这种效果,这里博主就不说了。自我感觉没这种好。
先来看下修改后的项目结构:
看下MyLcator.java这个文件:
package cn.ztz.application;
import java.net.URL;
import org.apache.wicket.core.util.resource.UrlResourceStream;
import org.apache.wicket.core.util.resource.locator.ResourceStreamLocator;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.util.resource.IResourceStream;
/**
*
* @author azhong
* 2015-08-19 20:52:47
*/
public class MyLocator extends ResourceStreamLocator {
@Override
public IResourceStream locate(Class<?> clazz, String path) {
String extension = path.substring(path.lastIndexOf(".") + 1);
String clazzName=clazz.getName();
String fileName=clazzName.substring(clazzName.lastIndexOf(".")+1);
URL url;
try{
url=WebApplication.get().getServletContext().getResource("/"+fileName+"."+extension);
if(url!=null){
return new UrlResourceStream(url);
}
}catch(Exception e){
e.printStackTrace();
}
return super.locate(clazz, path);
}
}
HelloWorldApplication.java
package cn.ztz.application;
import org.apache.wicket.Page;
import org.apache.wicket.protocol.http.WebApplication;
/**
* @author azhong
* @version 1.0
* 2015-08-19 20:54:04
*
*/
public class HelloWorldApplication extends WebApplication {
@Override
public Class<? extends Page> getHomePage() {
return HelloWorld.class;
}
//初始化加载路径就可以了
@Override
protected void init() {
getResourceSettings().setResourceStreamLocator(new MyLocator());
}
}
HelloWorld.java
package cn.ztz.application;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
/**
* @author azhong
* @version 1.0
* 2015-08-19 20:53:24
*
*/
public class HelloWorld extends WebPage {
public HelloWorld(){
add(new Label("message","Hello world----wicket"));
}
}
现在大功告成,就是这么简单。
其实还有种方法也能实现这种效果,这里博主就不说了。自我感觉没这种好。
相关文章推荐
- Apache Isis 1.4.0 发布,领域驱动开发框架
- Linux快速构建apache web服务器
- Awstats处理多apache日志
- 安装perl模块小窍门
- PHP+Apache在Windows 9x下的安装和配置
- Apache服务器配置全攻略
- Apache Web让JSP“动”起来
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- apache 环境下 php 的配置注意事项
- 在RedHat下安装apache jserv 1.1.2方法
- windows中PHP5.2.14以及apache2.2.16安装配置方法第1/2页
- 在Windows XP下安装Apache+MySQL+PHP环境
- 解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
- apache rewrite防盗链三例
- Apache 配置详解(最好的APACHE配置教程)
- Apache+php+mysql在windows下的安装与配置(图文)第1/2页
- apache rewrite_module模块使用教程
- Apache rewrite重写规则的常见应用
- 关于Apache默认编码错误 导致网站乱码的解决方案