第一个任务是更改数据源,这个简单,就是自己写一个公共的可以调用的类,这个类去判断员工是否这个部门,是就初始化相对应的数据源,
数据源的定义:数据源定义的是连接到实际数据库的一条路径而已,数据源中并无真正的数据。
第二个任务就是图片预览
后来做完了回想也是简单的不要不要的,其实就在前端写一个图像预览很简单,就是jquery就行了,但由于我们公司的前端是用的一个蓝凌公司的框架,图像ID死活获取不到,试过各种JS代码,气死了。。。。
后来只有在后台从附件的数据库中拿到图像id值,是写在action中,用ajax来进行前后端的交互
$.ajax({
type: 'POST',
url: '/ekp/tcl/dormitory/tcl_dormitory_main/tclDormitoryMain.do',
data: {
method: 'getfdmodel',
fdId: '${param.fdId}'
},
dataType: 'json',
success: function (res) {}
})
这是调用的前端代码,后台的代码如下:
public void getfdmodel(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
JSONObject jsonObject = new JSONObject();
String fd_model_id = request.getParameter("fdId");
try{
if (StringUtil.isNotNull(fd_model_id)) {
StringBuffer sql = new StringBuffer();
sql.append("select FD_ID from sys_att_main where fd_model_id='" + fd_model_id + "'");
Query query = getITclDormitoryMainService().getBaseDao().getHibernateSession()
.createSQLQuery(sql.toString());
query.setFirstResult(0);
List listnum = query.list();
String[] pictureid = new String[listnum.size()];
if (listnum != null && !listnum.isEmpty()) {
for (int i = listnum.size() - 1; i >= 0; i--) {
pictureid[i] = listnum.get(i).toString();
}
}
jsonObject.put("msg", "success");
jsonObject.put("ret", Constant.SUCCESS);
for (int i = pictureid.length - 1; i >= 0; i--) {
jsonObject.put("picture" + i, pictureid[i]);
}
}
}
catch (Exception e) {
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw, true));
String str = sw.toString();
logger.error(str);
jsonObject.put("msg", "请检查参数或网络!");
jsonObject.put("ret", Constant.FAIL);
}
response.setCharacterEncoding("UTF-8");
response.getWriter().write(jsonObject.toString());
response.getWriter().flush();
response.getWriter().close();
}
就是一个值传递的过程
自己jquery很垃圾,正买了一本书,自学中,加油!