栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Wicket动态图片网址

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Wicket动态图片网址

我自己才刚刚开始使用Wicket,但是我只是将资源安装为具有自己URL的共享资源。您只需覆盖

init()
自己
Application
的资源并使用

getSharedResources().add(resourceKey, dynamicImageResource);

然后,将其挂载为共享资源

mountSharedResource(path, resourceKey);

出于某种原因,我仍然不完全了解,您必须将应用程序的类名放在传递给的资源键之前

mountSharedResource()


让我们为一些额外的投票添加一个完整的示例!首先使用以下命令创建一个空的Wicket模板

mvn archetype:create -DarchetypeGroupId=org.apache.wicket     -DarchetypeArtifactId=wicket-archetype-quickstart     -DarchetypeVersion=1.4.0 -DgroupId=com.mycompany     -DartifactId=myproject

然后,通过添加以下

init()
方法来覆盖方法
WicketApplication

@Overrideprotected void init() {    final String resourceKey = "DYN_IMG_KEY";    final String queryParm = "id";    getSharedResources().add(resourceKey, new Resource() {        @Override        public IResourceStream getResourceStream() { final String query = getParameters().getString(queryParm); // generate an image containing the query argument final BufferedImage img = new BufferedImage(100, 100,         BufferedImage.TYPE_INT_RGB); final Graphics2D g2 = img.createGraphics(); g2.setColor(Color.WHITE); g2.drawString(query, img.getWidth() / 2, img.getHeight() / 2); // return the image as a PNG stream return new AbstractResourceStreamWriter() {     public String getContentType() {         return "image/png";     }     public void write(OutputStream output) {         try { ImageIO.write(img, "png", output); }         catch (IOException ex) {  }     } };        }    });    mountSharedResource("/resource", Application.class.getName() + "/" + resourceKey);}

动态的小PNG资源只是将查询参数写在黑色背景上。当然,您可以访问数据库或执行任何您想生成图像数据的操作。

最后,执行

mvnjetty:run
,您将可以通过此URL访问资源。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/507638.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号