我有一个生成PDF的动作类.该contentType适当地设定.
public class MyAction extends ActionSupport
{
public String execute() {
...
...
File report = signedPdfExporter.generateReport(xyzData, props);
inputStream = new FileInputStream(report);
contentDisposition = "attachment=\"" + report.getName() + "\"";
contentType = "application/pdf";
return SUCCESS;
}
}
Run Code Online (Sandbox Code Playgroud)
我action 通过Ajax调用来调用它.我不知道将此流传递给浏览器的方法.我尝试过一些东西,但没有任何效果.
$.ajax({
type: "POST",
url: url,
data: wireIdList,
cache: false,
success: function(response)
{
alert('got response');
window.open(response);
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
alert('Error occurred while opening fax template'
+ getAjaxErrorString(textStatus, errorThrown));
}
});
Run Code Online (Sandbox Code Playgroud)
以上给出了错误:
您的浏览器发送了此服务器无法理解的请求.
我一直在研究迄今为止可用的无头浏览器,并发现HtmlUnit被广泛使用.与HtmlUnit相比,我们有什么替代HtmlUnit可能具有优势吗?
谢谢Nayn
我需要使用Jasperreports以Excel格式生成报告.我正在使用iReports 3.7.0除了空单元格的大小外,生成的报告没有任何问题.
有人可以告诉我们如何避免突出显示的细胞被放大.正常细胞也比它们的含量稍大.
我最近发现依赖于JVM的默认编码会导致错误.我应该明确使用特定的编码ex.UTF-8与工作时String,InputStreams 等我有一个巨大的代码库进行扫描,以确保这一点.有人可能会建议我检查一下比搜索整个代码库更简单的方法.
谢谢Nayn
我想看看我们从HTMLCleaner获得的清理HTML.我看到在TagNode上有一个名为serialize的方法,但是不知道如何使用它.有人有任何示例代码吗?
谢谢Nayn
我正在使用jasperreport并尝试传递备用报表运行程序.
•net.sf.jasperreports.engine.fill.JRThreadSubreportRunner:基于线程的初始实现
•net.sf.jasperreports.engine.fill.JRContinuationSubreportRunner:基于Javaflow的实现
我正在使用第二个(因为它在tomcat服务器上运行,并且在编写子报表时创建线程不会很好).第二个依赖于commons-javaflow,这是一个沙盒版本.
不确定我是否应该使用它,有人可以建议一个更好的方法.谢谢
我有一个在tomcat下运行的线程,它创建一个HttpUrlConnection并通过BufferedInputStream读取它.
在获取某些网址的数据后,它会停止.我得到了进程的jstack,它说HttpUrlConnection被锁定,BufferedInputStream也被锁定.
"http-8080-1" daemon prio=10 tid=0x08683400 nid=0x79c9 runnable [0x8f618000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
- locked <0x956ef8c0> (a java.io.BufferedInputStream)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072)
- locked <0x956ef910> (a sun.net.www.protocol.http.HttpURLConnection)
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?谢谢
我读了Joshua Bloch的"Effective Java",并从我们的应用程序中删除了"Constant Interface anti-pattern".诀窍是使用非实例化的util类,其构造函数是私有的,并将所有常量定义为'public static final'
我必须扩展这个常量的util类.我只能在将构造函数更改为protected时执行此操作.
有人可以建议一个更好的方法.
public class Constants {
private Constants () {} // Prevent instantiation
public static final String MyString = "MyString";
}
public class MyConstants extends Constants {
private MyConstants () {} // Compiler error : Implicit super constructor Constants() is not visible.
public static final String MySecondString = "MySecondString";
}
Run Code Online (Sandbox Code Playgroud) 我的工作区中有一个挂起的更改列表.
错误地,我通过恢复到仓库恢复了其中一个文件.Eclipse抹去了当地的历史.我不确定perforce是否保留了待更改列表的任何历史记录.
有可能恢复这样的文件吗?
java ×4
web-crawler ×2
excel ×1
html-parsing ×1
htmlcleaner ×1
htmlunit ×1
javascript ×1
jquery ×1
locking ×1
pdf ×1
perforce ×1
scraper ×1
terminology ×1
utf-8 ×1