excelExport.jsp
2.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<%@ page language="java" contentType="application/x-download; charset=UTF-8"%>
<%@ page import="weaver.general.Util" %>
<%@ page import="org.bouncycastle.crypto.BufferedBlockCipher" %>
<%@ page import="org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher" %>
<%@ page import="org.bouncycastle.crypto.modes.CBCBlockCipher" %>
<%@ page import="org.bouncycastle.crypto.engines.AESFastEngine" %>
<%@ page import="org.bouncycastle.crypto.params.ParametersWithIV" %>
<%@ page import="org.bouncycastle.util.encoders.Hex" %>
<%@ page import="org.bouncycastle.crypto.params.KeyParameter" %>
<%@ page import="weaver.workflow.exceldesign.FormTemplateManager" %>
<%@ page import="weaver.hrm.HrmUserVarify" %>
<%@ page import="weaver.hrm.User" %>
<jsp:useBean id="recordSet" class="weaver.conn.RecordSet" scope="page" />
<%!
static byte[] keybytes = "WEAVER E-DESIGN.".getBytes();
static byte[] iv = "weaver e-design.".getBytes();
//为字符串加密
public String encode(String content) {
try {
BufferedBlockCipher engine = new PaddedBufferedBlockCipher(new CBCBlockCipher(new AESFastEngine()));
engine.init(true, new ParametersWithIV(new KeyParameter(keybytes),iv));
byte[] enc = new byte[engine.getOutputSize(content.getBytes().length)];
int size1 = engine.processBytes(content.getBytes(), 0, content.getBytes().length, enc, 0);
int size2 = engine.doFinal(enc, size1);
byte[] encryptedContent = new byte[size1 + size2];
System.arraycopy(enc, 0, encryptedContent, 0, encryptedContent.length);
return new String(Hex.encode(encryptedContent));
} catch (Exception ex) {
ex.printStackTrace();
}
return "";
}
%>
<%
User user = HrmUserVarify.getUser(request, response);
String nodeid = Util.null2String(request.getParameter("exportnodeid"));
String filename = "";
if(user != null){
if(FormTemplateManager.isFormVirtualNode(nodeid)){
int formid = Util.getIntValue(request.getParameter("exportformid"));
int isbill = Util.getIntValue(request.getParameter("exportisbill"));
filename = new FormTemplateManager().getFormName(formid, isbill, user.getLanguage());
}else{
String nodetypesql = "select b.workflowname,nb.nodename from workflow_nodebase nb,workflow_flownode fn,workflow_base b"
+ " where b.id= fn.workflowid and nb.id = fn.nodeid and nb.id = ? ";
recordSet.executeQuery(nodetypesql, nodeid);
if(recordSet.first()){
filename = Util.null2String(recordSet.getString("workflowname"))+"_"+Util.null2String(recordSet.getString("nodename"));
}
}
}
filename = new String(filename.getBytes(), "ISO-8859-1") + ".wef";
response.setContentType("application/x-download;charset=UTF-8");
//设置让浏览器弹出下载提示框,而不是直接在浏览器中打开
response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
String jsonObj = Util.null2String(request.getParameter("exportJson"));
jsonObj = encode(jsonObj);
out.clear();
out.println(jsonObj);
%>