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

如何在Struts 2中从动作类向JSP发送和显示QRCode图像

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

如何在Struts 2中从动作类向JSP发送和显示QRCode图像

看来您需要

<s:url
可以在
<img
标签中替换为
href
属性的from 动作,以检索图像,类似于在
/images
文件夹中使用静态图像。

叫它

ImageAction
。这是将响应写出的简单操作。要使用它,您需要将带有图像的文件放入会话中。因为图像是由单独的线程检索的。在execute方法中写

@Action(value = "image",  interceptorRefs = @InterceptorRef("basicStack"))public class ImageAction extends ActionSupport {public String execute() {

从会话中获取文件

File file = session.get("file");

那么你需要阅读文件

FileInputStream fis = new FileInputStream(file);byte[] data = new byte[fis.available()];fis.read(data);fis.close();

然后写出回应

response.setContentType("image/png");BufferedImage bi;OutputStream os = response.getOutputStream();bi = ImageIO.read(new ByteArrayInputStream(data));ImageIO.write(bi, "PNG", os);os.flush();

并返回NONE结果,因为此操作仅写入响应

return NONE;}

做完了

然后在从您的动作转发的JSP中使用

<img src="<s:url action="image"/>"/>
。如果需要添加路径,则在URL中的操作和属性上使用名称空间注释。

我觉得您熟悉Struts2中的会话概念,即如何将会话注入您的动作并在其中映射对象。返回结果之前,请在操作中映射文件对象。

祝好运。



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

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

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