码迷,mamicode.com
首页 > Web开发 > 详细

在jsp页面生成二维码

时间:2015-05-31 23:18:28      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:struts2

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

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

代码如下:

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页面生成二维码

标签:struts2

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!