如果有人幫我解決以下問題,我將不勝感激。 我有一個碧玉的報告,我填寫PrintingBean
,它的一切都很好。我在打印預覽按鈕按下的那一刻(打開小程序)我的應用程序在拋出一個空指針異常:request.getSession()爲空
if (bean.getPrintingDataList() != null && !bean.getPrintingDataList().isEmpty())
看起來這使得新的會話(但我不能看到,圖形用戶界面,其所有好)。我的manageBean是一個SessionScoped。這是我的整個方法:
private void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
JasperPrint jasperPrint = null;
try {
PrintingBean bean = (PrintingBean) request.getSession().getAttribute("printMB");
if (bean.getPrintingDataList() != null && !bean.getPrintingDataList().isEmpty()) {
jasperPrint = printManager.print(bean.getPrintingDataList());
}
} catch (Exception ex) {
Logger.getLogger(JasperPrintServlet.class.getName()).log(Level.SEVERE, null, ex);
}
if (jasperPrint != null) {
response.setContentType("application/octet-stream");
ServletOutputStream ouputStream = response.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(ouputStream);
oos.writeObject(jasperPrint);
oos.flush();
oos.close();
ouputStream.flush();
ouputStream.close();
}
}
這是不可能的。 *你是否真的*表示它在給定的行上返回'null',並且在你訪問'bean'的地方''NullPointerException''實際上*拋出了'if'塊?這會更有意義,並且*可以*被回答。 – BalusC 2012-02-06 14:05:02
是的,你是對的,它會在if塊中引發NPE,因爲request.getSession()沒有屬性(大小爲0),並且.getAttribute(「printMB」)根本不存在。你有什麼想法爲什麼以及如何處理這個問題?感謝您的時間 – falconiki 2012-02-07 13:36:58