首页 > Web开发 > 详细

在jsp页面生成二维码

时间:2015-05-31 23:17:03      阅读:714      评论:0      收藏:0      [点我收藏+]

本文介绍在线生成二维码功能。

思路仿照验证码生成的思路。

代码如下:

package com.sys.productNew.action;

import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;

import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.huchi.util.qrutils.PictureUtils;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;

public class ProductNewAction extends ActionSupport {
	
	// 产品编号
	private String productId;
	
	// 跳到二维码页面
	public String prevQRPicture() throws IOException {
		return Action.SUCCESS;
	}

	//生成预览二维码
	public void QRPicture() {
		HttpServletResponse response=ServletActionContext.getResponse();
		response.setDateHeader("Expires", 0);
		response.setHeader("Cache-Control", "no-cache");
		response.setHeader("Pragma", "No-cache");
		response.setContentType("image/jpeg");

		// 生成二维码
		String url = "http://xx/yy/zz.action?productId=";

		BufferedImage image = PictureUtils.generateQRCode(url + productId);
		OutputStream os = null;
		try {
			os = response.getOutputStream();
			ImageIO.write(image, "JPEG", os);
		} catch (IOException e) {
			e.printStackTrace();
		} finally { 
			if (os != null) {
				try {
					os.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
	public String getProductId() {
		return productId;
	}
	public void setProductId(String productId) {
		this.productId = productId;
	}
}


HTML :

<img alt="呼哧旅行" id="authCodeImage" src="/end/app/productNew/QRPicture.shtml?productId=${productId }"/>


该功能能够将二维码,以流的方式,写在JSP页面上。需要注意的是,通过<img>的src功能,访问action里面的方法,然后以流的方式,生成二维码。

在jsp页面生成二维码

原文:http://blog.csdn.net/liu765023051/article/details/46293075

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!