?
package com.topdt.policesms.action;
?
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
?
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.InterceptorRef;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
?
import com.topdt.frame.base.Struts2Action;
import com.topdt.frame.common.AppContext;
import com.topdt.policesms.model.DataLog;
import com.topdt.policesms.service.DataLogService;
?
/**
?* 数据日志
?* @author Administrator
?*
?*/
@Controller
@Scope("prototype")
@ParentPackage(value = "gloab-package")
@Namespace(value = "/message")
@Action(value = "dlog", results = {
<span style="white-space: pre;"> </span>@Result(name = "list", location = "/message/dlog/dlog_list.jsp"),
<span style="white-space: pre;"> </span>@Result(name = "download", type = "stream<span style="color: #ff0000;">(类型为流)</span>", params = { "contentType",
<span style="white-space: pre;"> </span>"application<span style="color: #ff0000;">(应用程序)</span>/octet-stream;charset=ISO8859-1", "inputName<span style="color: #ff0000;">(输入文件名称)</span>",
<span style="white-space: pre;"> </span>"fstream", "contentDisposition", "attachment;filename=<span style="color: #ff0000;">${downloadFileName}</span>",
<span style="white-space: pre;"> </span>"bufferSize", "4096" }),
<span style="white-space: pre;"> </span>@Result(name = "invalid.token",type="redirect",location = "task!list.action",params = {"message", "请不要重复提交" })?
<span style="white-space: pre;"> </span>},?
<span style="white-space: pre;"> </span>interceptorRefs = {
<span style="white-space: pre;"> </span>@InterceptorRef(value = "pageInterceptor", params = { "includeMethods", "list" }),
<span style="white-space: pre;"> </span>@InterceptorRef(value = "token", params = { "includeMethods", "save" }),
<span style="white-space: pre;"> </span>@InterceptorRef("topDtStack")?
<span style="white-space: pre;"> </span>})
public class DataLogAction extends Struts2Action<DataLog>{
?
<span style="white-space: pre;"> </span>private static final long serialVersionUID = 1792436660779570837L;
?
<span style="white-space: pre;"> </span>@Autowired
<span style="white-space: pre;"> </span>private DataLogService dataLogService;
<span style="white-space: pre;"> </span>private String statDate;
<span style="white-space: pre;"> </span>private String endDate;
<span style="white-space: pre;"> </span><span style="color: #ff0000;">private InputStream fstream;</span>
<span style="white-space: pre;"> </span><span style="color: #ff0000;">private String inputPath;</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>private String fileName</span>;
<span style="white-space: pre;"> </span>
? ? public void setInputPath(String value) {
? ? ? ? inputPath = value;
? ? }
?
? ? public void setFileName(String fileName) {
<span style="white-space: pre;"> </span>this.fileName = fileName;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>@Override
<span style="white-space: pre;"> </span>protected void doList() throws Exception {
<span style="white-space: pre;"> </span>list = dataLogService.queryDataLog(statDate, endDate, getModel().getDataType());
<span style="white-space: pre;"> </span>}
?
<span style="color: #ff0000;">//取得文件名称</span>
?
<span style="white-space: pre;"> </span><span style="color: #ff0000;">public String getDownloadFileName(){</span>
<span style="color: #ff0000;">? ? <span style="white-space: pre;"> </span>String downFileName=fileName;</span>
<span style="color: #ff0000;">? ? <span style="white-space: pre;"> </span>try {</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>downFileName=new String(downFileName.getBytes(),"ISO8859-1");</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>} catch (Exception e) {</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>e.printStackTrace();</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>}</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>return downFileName;</span>
<span style="color: #ff0000;">? ? }</span>
<span style="color: #ff0000;">//下载文件</span>
<span style="white-space: pre;"> </span><span style="color: #ff0000;">public String downLog () {</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>inputPath = AppContext.getProperties("breakDataDir")+fileName;</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>try {</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>fstream = new FileInputStream(new File(inputPath));</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>} catch (FileNotFoundException e) {</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>e.printStackTrace();</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>}</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>return "download";</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>}</span>
<span style="white-space: pre;"> </span>
<span style="white-space: pre;"> </span>public DataLogService getDataLogService() {
<span style="white-space: pre;"> </span>return dataLogService;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>public void setDataLogService(DataLogService dataLogService) {
<span style="white-space: pre;"> </span>this.dataLogService = dataLogService;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>public String getStatDate() {
<span style="white-space: pre;"> </span>return statDate;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>public void setStatDate(String statDate) {
<span style="white-space: pre;"> </span>this.statDate = statDate;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>public String getEndDate() {
<span style="white-space: pre;"> </span>return endDate;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>public void setEndDate(String endDate) {
<span style="white-space: pre;"> </span>this.endDate = endDate;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>public InputStream getFstream() {
<span style="white-space: pre;"> </span>return fstream;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>public void setFstream(InputStream fstream) {
<span style="white-space: pre;"> </span>this.fstream = fstream;
<span style="white-space: pre;"> </span>}
?
}
?
?
HTML :代码:<a href='dlog!downLog.action?fileName=<s:property value="#dlog.errorDetail"/>'>错误详细</a>
package com.topdt.policesms.action;
?
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
?
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.InterceptorRef;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
?
import com.topdt.frame.base.Struts2Action;
import com.topdt.frame.common.AppContext;
import com.topdt.policesms.model.DataLog;
import com.topdt.policesms.service.DataLogService;
?
/**
?* 数据日志
?* @author Administrator
?*
?*/
@Controller
@Scope("prototype")
@ParentPackage(value = "gloab-package")
@Namespace(value = "/message")
@Action(value = "dlog", results = {
<span style="white-space: pre;"> </span>@Result(name = "list", location = "/message/dlog/dlog_list.jsp"),
<span style="white-space: pre;"> </span>@Result(name = "download", type = "stream<span style="color: #ff0000;">(类型为流)</span>", params = { "contentType",
<span style="white-space: pre;"> </span>"application<span style="color: #ff0000;">(应用程序)</span>/octet-stream;charset=ISO8859-1", "inputName<span style="color: #ff0000;">(输入文件名称)</span>",
<span style="white-space: pre;"> </span>"fstream", "contentDisposition", "attachment;filename=<span style="color: #ff0000;">${downloadFileName}</span>",
<span style="white-space: pre;"> </span>"bufferSize", "4096" }),
<span style="white-space: pre;"> </span>@Result(name = "invalid.token",type="redirect",location = "task!list.action",params = {"message", "请不要重复提交" })?
<span style="white-space: pre;"> </span>},?
<span style="white-space: pre;"> </span>interceptorRefs = {
<span style="white-space: pre;"> </span>@InterceptorRef(value = "pageInterceptor", params = { "includeMethods", "list" }),
<span style="white-space: pre;"> </span>@InterceptorRef(value = "token", params = { "includeMethods", "save" }),
<span style="white-space: pre;"> </span>@InterceptorRef("topDtStack")?
<span style="white-space: pre;"> </span>})
public class DataLogAction extends Struts2Action<DataLog>{
?
<span style="white-space: pre;"> </span>private static final long serialVersionUID = 1792436660779570837L;
?
<span style="white-space: pre;"> </span>@Autowired
<span style="white-space: pre;"> </span>private DataLogService dataLogService;
<span style="white-space: pre;"> </span>private String statDate;
<span style="white-space: pre;"> </span>private String endDate;
<span style="white-space: pre;"> </span><span style="color: #ff0000;">private InputStream fstream;</span>
<span style="white-space: pre;"> </span><span style="color: #ff0000;">private String inputPath;</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>private String fileName</span>;
<span style="white-space: pre;"> </span>
? ? public void setInputPath(String value) {
? ? ? ? inputPath = value;
? ? }
?
? ? public void setFileName(String fileName) {
<span style="white-space: pre;"> </span>this.fileName = fileName;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>@Override
<span style="white-space: pre;"> </span>protected void doList() throws Exception {
<span style="white-space: pre;"> </span>list = dataLogService.queryDataLog(statDate, endDate, getModel().getDataType());
<span style="white-space: pre;"> </span>}
?
<span style="color: #ff0000;">//取得文件名称</span>
?
<span style="white-space: pre;"> </span><span style="color: #ff0000;">public String getDownloadFileName(){</span>
<span style="color: #ff0000;">? ? <span style="white-space: pre;"> </span>String downFileName=fileName;</span>
<span style="color: #ff0000;">? ? <span style="white-space: pre;"> </span>try {</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>downFileName=new String(downFileName.getBytes(),"ISO8859-1");</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>} catch (Exception e) {</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>e.printStackTrace();</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>}</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>return downFileName;</span>
<span style="color: #ff0000;">? ? }</span>
<span style="color: #ff0000;">//下载文件</span>
<span style="white-space: pre;"> </span><span style="color: #ff0000;">public String downLog () {</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>inputPath = AppContext.getProperties("breakDataDir")+fileName;</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>try {</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>fstream = new FileInputStream(new File(inputPath));</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>} catch (FileNotFoundException e) {</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>e.printStackTrace();</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>}</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>return "download";</span>
<span style="color: #ff0000;"><span style="white-space: pre;"> </span>}</span>
<span style="white-space: pre;"> </span>
<span style="white-space: pre;"> </span>public DataLogService getDataLogService() {
<span style="white-space: pre;"> </span>return dataLogService;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>public void setDataLogService(DataLogService dataLogService) {
<span style="white-space: pre;"> </span>this.dataLogService = dataLogService;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>public String getStatDate() {
<span style="white-space: pre;"> </span>return statDate;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>public void setStatDate(String statDate) {
<span style="white-space: pre;"> </span>this.statDate = statDate;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>public String getEndDate() {
<span style="white-space: pre;"> </span>return endDate;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>public void setEndDate(String endDate) {
<span style="white-space: pre;"> </span>this.endDate = endDate;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>public InputStream getFstream() {
<span style="white-space: pre;"> </span>return fstream;
<span style="white-space: pre;"> </span>}
?
<span style="white-space: pre;"> </span>public void setFstream(InputStream fstream) {
<span style="white-space: pre;"> </span>this.fstream = fstream;
<span style="white-space: pre;"> </span>}
?
}
?
?
HTML :代码:<a href='dlog!downLog.action?fileName=<s:property value="#dlog.errorDetail"/>'>错误详细</a>