我有一个使用Struts 1.3的Java Web应用程序,它与Applet进行通信以打印报告。 此报告由Web应用程序生成,没有问题,但是,我无法发送到Applet。
我在这里搜索了其他论坛,而且显然与大多数人合作的解决方案是使用Base64转换byte []。我尝试过,但没有为我工作。出于某种原因,当applet尝试解码时,它无法解决。不会产生任何错误,它只是没有出现在解码的位置,它就像进入了一个无限循环。
以下代码生成Base64:
try {
byte[] report = PrinterFacade.generateReport();
[...]
response.getWriter().write(Base64.encodeBase64String(report));
} catch (Exception e) {
[...]
throw e;
}
这是调用Applet的JavaScript代码:
$.ajax ({
type: "POST"
url: "${printing}"
success: function(data) {
document.applet.print(data);
},
[...]
});
这是代码Applet:
public void print(String report) throws Exception {
try {
byte[] pdf = Base64.decodeBase64(report);
[...]
} catch (Exception e) {
throw e;
}
}
我检查过,并且字符串报告中填充了Applet端的正确数据。
有谁知道它能是什么?