SpringBoot项目中列表中生成二维码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/P923284735/article/details/89307180

Maven依赖

		<!-- 二维码 -->
        <dependency>
		    <groupId>net.glxn.qrgen</groupId>
		    <artifactId>javase</artifactId>
		    <version>2.0</version>
		</dependency>

页面代码

$('#dataGrid').dataGrid({
	searchForm: $("#searchForm"),
	rownumbers: true,//序号是否展示
	rownumWidth:50,//序号列的宽度,单位:px,
	columnModel: [
		{header:'${text('耳标号')}', name:'earno', index:'a.earno', width:100, align:"center",sortable:false,autowidth:true,formatter: function(val, obj, row, act){
			return "<img src='${path}/qrcode/getPng?id="+row.id+"'/>";
		}},
		{header:'${text('耳标号')}', name:'earno', index:'a.earno', width:100, align:"center",sortable:false,autowidth:true},
		{header:'${text('任务名称')}', name:'jnhgTask.name', index:'jnhgTask.name', width:200, align:"center",sortable:false,autowidth:true},
		{header:'${text('任务编号')}', name:'jnhgTask.no', index:'jnhgTask.no', width:200, align:"center",sortable:false,autowidth:true},
		{header:'${text('登轮检疫任务')}', name:'jnhgShip.shipname', index:'jnhgShip.shipname', width:200, align:"center",sortable:false,autowidth:true},
		{header:'${text('运输任务')}', name:'jnhgTransplan.taskname', index:'jnhgTransplan.taskname', width:150, align:"center",sortable:false,autowidth:true},
		{header:'${text('操作')}', name:'actions', align:"center", width:120, sortable:false, title:false, formatter: function(val, obj, row, act){
			var actions = [];
			actions.push('<a href="javascript:void(0);" openDialog("'+row.id+'")  title="${text('查看详细信息')}"><i class="icon-magnifier"></i></a>&nbsp;');
			return actions.join('');
		}}
	],
	// 加载成功后执行事件
	ajaxSuccess: function(data){
		console.log(data);
	}
});

后端请求代码

@RequestMapping("/qrcode")
@Controller
public class QrcodeController extends BaseController {
	@RequestMapping("/getPng")
	public void getPng(String id,HttpServletRequest request,HttpServletResponse response) throws IOException {
		String url = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/qrcode/detail?id="+id;
		ByteArrayOutputStream out = QRCode.from(url).to(ImageType.PNG).stream();
		response.setContentType("image/png");
		response.setContentLength(out.size());
		OutputStream os = response.getOutputStream();
		os.write(out.toByteArray());
		os.flush();
		os.close();
	}
	
}

效果图


注意点:
如果手机开流量访问本地项目生成的二维码,二维码生成中是一串链接地址,注意你的手机要和服务器的处于同一网络才可以,不然没法访问。当然了,项目发布后在外网访问自然是没问题的。

猜你喜欢

转载自blog.csdn.net/P923284735/article/details/89307180