JAVA后台
/**
* 前台展示图片
* @throws Exception
*/
@SkipPrivilege
public void showImage() throws Exception{
String jsonString = null;
try {
if(null!=cigCode&&!"".equals(cigCode)&&null!=inoutStatus&&!"".equals(inoutStatus)){
jsonString="\"data\":{'name':'" + cigCode + "','url':'sellCigInoutSummaryQuery!outImageStream.action?cigCode="+cigCode+"&inoutStatus="+inoutStatus+"'}";
}else{
jsonString="\"data\":{'name':'" + cigCode + "','url':'images/nofoundimage.png'}";
}
} catch (Exception e) {
throw e;
}
jsonString = "{\"success\":true," + jsonString + "}";
response(jsonString);
}
/**
* 处理BLOB类型的图像流,输出到前台
* @throws Exception
*/
@SkipPrivilege
public void outImageStream() throws Exception{
Connection conn = null;
ResultSet rs = null;
PreparedStatement pstmt = null;
Session session = null;
ServletOutputStream out =null;
BufferedInputStream imgStream =null;
try {
session = dao.getSessionFactory().openSession();
conn = session.connection();
String sql = " select t.cig_photo from t_iso_rg_sell_cig_inout t where 1=1 "
+ " and t.cig_code = ? and t.inout_status = ? ";
pstmt= conn.prepareStatement(sql);
pstmt.setString(1,cigCode);
pstmt.setString(2,inoutStatus);
rs=pstmt.executeQuery();
if (rs.next()) {
Blob photoBlob = rs.getBlob("cig_photo");
out = response.getOutputStream();
int nSize =0;
byte[] bye;
int size = -1;
if(null!=photoBlob){
imgStream = new BufferedInputStream(photoBlob.getBinaryStream());//imgStream = ;
nSize = (int)photoBlob.length();
bye = new byte[nSize];
size = imgStream.read(bye,0,bye.length);
if(size>0){
out.write(bye,0,size);
}
//显示默认图片
} else {
//得到默认图片的路径
String pathStr = request.getSession().getServletContext().getRealPath("images/nofoundimage.png");
File file = new File(pathStr);
imgStream = new BufferedInputStream(new FileInputStream(file));
nSize = (int)imgStream.available();
bye = new byte[nSize];
size = imgStream.read(bye,0,bye.length);
out.write(bye,0,size);
}
imgStream.close();
out.flush();
out.close();
}
} catch (Exception e) {
throw e;
}finally{
closeAll(conn, rs, pstmt);
}
}
/**
* 关闭连接
* @param Connection
* @param ResultSet
* @param PreparedStatement
* @throws Exception
*/
public void closeAll(Connection conn, ResultSet rs, PreparedStatement pstmt) throws Exception {
try {
if (null != rs) {
rs.close();
}
if (null != pstmt) {
pstmt.close();
}
if (null != conn) {
conn.close();
}
} catch (Exception e) {
throw e;
}
}
EXTJS前台展示
var imageRecord = new Ext.data.Record.create([
{name:'name'},
{name:'url'}
]);
var imageReader = new Ext.data.JsonReader({root:'data',idProperty:'name'},imageRecord);
var imageProxy = new Ext.data.HttpProxy({url:'sellCigInoutSummaryQuery!showImage.action'});
var imageStore = new Ext.data.Store({
proxy: imageProxy,
reader: imageReader,
listeners: {exception:storeExceptionHandle}
});
//页面展示图片
var tpl = new Ext.XTemplate(
'<tpl for=".">',
'<div class="thumb-wrap">',
'<div class="thumb"><img src="{url}" width="125" height="140"></div>',
'</tpl>',
'<div class="x-clear"></div>'
);
imageView = new Ext.DataView({
store: imageStore,
loadingText: '正在读取图片...',
tpl: tpl,
height: 140,
autoScroll: true,
singleSelect: true,
overClass:'x-view-over',
itemSelector:'div.thumb-wrap',
emptyText: '没有图片'
});
this.imagePanel = new Ext.Panel({
title : "图片展示",
region:"center",
frame: true,
border: true,
width : 125,
height : 140,
items:[imageView]
});
分享到:
相关推荐
Java和ExtJS是两种在开发Web应用程序时广泛使用的技术。Java是一种多平台的、面向对象的编程语言,常用于后端服务器开发,提供强大的数据处理和业务逻辑支持。而ExtJS是一个JavaScript库,专用于构建富客户端应用,...
【标题】"spring+mvc+mybatis+extjs整合"是一个经典的Java Web开发框架组合,广泛应用于企业级应用。这个项目结合了Spring MVC作为控制层,MyBatis作为数据访问层,以及ExtJS作为前端展示层,构建了一个完整的三层...
本话题主要关注如何使用Java后端和ExtJS前端框架来实现单文件上传的流程。下面将详细讲解这个过程涉及的关键知识点。 首先,我们来看Java文件上传。在Java中,处理文件上传主要依赖于Servlet API中的`Part`接口,这...
"EF+EXTJS+MVC+Oracle框架"是一种常见的企业级Web应用开发架构,结合了Entity Framework(EF)、EXTJS、MVC模式以及Oracle数据库,为开发者提供了强大的数据处理、用户界面和应用程序结构管理能力。以下是对这个框架...
在本项目中,"S2SH+ExtJS4+Oracle9i技术实战开发电子商业汇票系统(银行内系统通讯)Java源码"是一个典型的基于Java的银行内部系统开发实例,它结合了多种技术来构建高效、安全的电子商业汇票处理流程。以下是关于这...
搭建MyEclipse10+Spket+ExtJS的开发环境是一项关键步骤,特别是对于初学者而言,这将为JavaScript开发打下坚实的基础。本文将详细解释如何进行这一配置。 首先,我们来安装Spket插件。Spket是一个强大的JavaScript...
标题中的“Extjs+java+swf多文件上传进度条显示项目”是一个综合性的Web开发实践,涉及到前端的用户界面、后端的数据处理以及文件上传过程中进度反馈的实现。这个项目利用了Extjs库来构建用户界面,Java作为服务器端...
这个“ssh+extjs全注解的上传、分页、验证码的demo”提供了如何在SSH后端框架基础上,结合EXTJS实现文件上传、分页显示数据以及验证码功能的示例。 首先,Struts2作为MVC(模型-视图-控制器)框架,负责处理HTTP...
在“php+Extjs+mysql实例”中,MySQL存储合同信息,如合同编号、合同名称、签订日期、甲方、乙方等字段。PHP通过预编译的SQL语句与MySQL进行通信,确保数据安全性和操作性能。例如,当用户需要查询特定合同信息时,...
SSH+ExtJS框架是Web应用开发中的一个常见组合,它结合了Struts2、Hibernate和Spring三大主流Java EE框架,并引入了ExtJS作为前端展示层技术。这个框架的使用大大提高了开发效率,提供了灵活的数据管理和用户界面交互...
eclipse+Extjs提示TOOLS破解版 spket eclipse+Extjs提示TOOLS破解版 spket
本系统采用Struts+Spring+Hibernate+Extjs结合技术,严格按照软件工程学的方法进行开发,应用数据库为Oracle 10g。既采用Oracle数据库的坚强数据核心,又结合Struts+Spring+Hibernate框架的稳定性和实用性,还...
在这个"SSH+ExtJs分页小例子"中,我们将探讨如何将这两种技术结合实现数据分页显示。 首先,我们来看NewsDAO.java文件。这个文件包含了两个关键方法:`findPageAll`和`totalRecord`。`findPageAll`方法实现了分页...
在本示例中,EXTJS4的组件可能被用来创建一个用户友好的界面,用户可以通过这些组件与后端SSH服务进行交互,如查询、编辑和保存数据。 总结来说,"ssh+extjs4整合开发"涉及到的技术栈是Java后端开发的强大组合,...
在这个“ASP.NET+ExtJS开发实例”中,我们将深入探讨这两者如何协同工作,创建出高效的Web解决方案。 ASP.NET框架提供了一个全面的开发环境,包括了开发工具、模板、自动化的生命周期管理以及内置的安全特性。它...
这是本人自己总结最好用的通用后台管extjs+MySQL+oracle+SQL server数据库源码:主要运用了一下的知识: 1、主要运用的后台框架是extjs, 2、jsp+hibernate+Struts2+spring+ajax+jQuery, 3、用到了Java面向对象的...
基于SpringBoot+FreeMarker+MyBatis+ExtJs实现的一个通用后台管理系统,界面美观,适合快速迭代开发 项目说明 技术栈: SpringBoot MyBatis Redis MySQL FreeMarker ExtJs 基于SpringBoot+FreeMarker+MyBatis+...
SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统