Foros de discusión
Проблема с запуском serveResource из jsp
Elliot Snake, modificado hace 9 años.
Проблема с запуском serveResource из jsp
New Member Mensajes: 8 Fecha de incorporación: 20/11/13 Mensajes recientes
Доброе время суток!
Подскажите, что делаю не так.
Пытаюсь найти решение по генерированию отчетов с помощью Jasper Report
в моем view.jsp запрашиваю GroupId в текстовом поле
затем в Контроллере, получаю параметр и отправляю на Render
далее view_thank_you.jsp показывает сообщение об успешном действии и должен выполниться скрипт по запуску serveResource
вот так выглядит serveResource
Думаю, что неправильно запускаю скрипт. Но куда копать не понимаю. Помогите, плз!
Подскажите, что делаю не так.
Пытаюсь найти решение по генерированию отчетов с помощью Jasper Report
в моем view.jsp запрашиваю GroupId в текстовом поле
<%@include file="init.jsp"%>
<portlet:actionurl name="createUserReports" var="jasperActionURL">
<portlet:param name="jspPage" value="/html/jasperaction/view.jsp" />
</portlet:actionurl>
<aui:form action="<%=jasperActionURL.toString()%>" name="fm" id="fm" method="post">
<h3>Choose data for report</h3>
<% String keyGroupId=null;
%>
<aui:input name="keyGroupId" type="text" value="<%=keyGroupId %>" size="25" />
<aui:button type="submit" name="userReports" value="getUserreports" />
</aui:form>
затем в Контроллере, получаю параметр и отправляю на Render
public void createUserReports(ActionRequest actionRequest, ActionResponse response)
throws IOException, PortletException, PortalException, SystemException, JRException, SQLException {
String keyGroupId=ParamUtil.getString(actionRequest, "keyGroupId");
response.setRenderParameter("keyGroupId", keyGroupId);
response.setRenderParameter("jspPage",viewThankYouJSP);
}
далее view_thank_you.jsp показывает сообщение об успешном действии и должен выполниться скрипт по запуску serveResource
<%@include file="init.jsp" %>
<portlet:renderurl var="jasperActionURL">
<portlet:param name="jspPage" value="/html/jasperaction/view_thank_you.jsp" />
</portlet:renderurl>
<aui:script>
AUI().use('aui-base','liferay-portlet-url','aui-node', function(A) {
var myResourceURL =Liferay.PortletURL.createResourceURL();
myResourceURL.setResourceId('getDataResourceURL');
});
</aui:script>
вот так выглядит serveResource
public void serveResource(ResourceRequest request, RenderResponse response)
throws PortletException, IOException {
String resourceId = request.getResourceID();
if (Validator.isNotNull(resourceId) && resourceId.length() != 0
&& resourceId.equalsIgnoreCase("getDataResourceURL")) {
JasperDesign jasperDesign;
Map parameters = new HashMap();
parameters.put("ReportTitle", "Address Report");
String groupId=null;
String keyGroupId = request.getParameter("keyGroupId");;
_log.info("KeyGroupId="+keyGroupId);
if (keyGroupId=="-1")
{groupId="NOTNULL";
}
else{
groupId="="+keyGroupId;
}
String tmpSqlQuery="SELECT * FROM fin_cost WHERE groupId"+" "+groupId+";";
parameters.put("SqlQuery",tmpSqlQuery);
try {
jasperDesign = JRXmlLoader.load("/home/liferay/Desktop/Blank_A4_Landscape.jrxml");
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
Connection con=DataAccess.getConnection();
JasperPrint print = JasperFillManager.fillReport(jasperReport, parameters, con);
JRExporter exporter = new net.sf.jasperreports.engine.export.JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
OutputStream os = response.getPortletOutputStream();
String pdfApplicationFormName = "Test";
response.setContentType("application/pdf");
response.setProperty(HttpHeaders.CONTENT_DISPOSITION,"attachement;filename="+pdfApplicationFormName.replaceAll(" ", ""));
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, os);
exporter.exportReport();
os.flush();
} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//super.serveResource((ResourceRequest) request, response);
}
}
Думаю, что неправильно запускаю скрипт. Но куда копать не понимаю. Помогите, плз!
Alexey Melnikov, modificado hace 9 años.
RE: Проблема с запуском serveResource из jsp
Regular Member Mensajes: 108 Fecha de incorporación: 27/03/12 Mensajes recientes
Тут скорее всего нужно уже спрашивать, как решили свой же собственный вопрос ))
А из вопроса не ясно какая из частей не работает.
Подозреваю, что не вызывался serveResource?
А из вопроса не ясно какая из частей не работает.
Подозреваю, что не вызывался serveResource?
Elliot Snake, modificado hace 9 años.
RE: Проблема с запуском serveResource из jsp
New Member Mensajes: 8 Fecha de incorporación: 20/11/13 Mensajes recientes
Вопрос пока не решен.
Не могу вызвать serveResource из jsp
Нужна помощь
Не могу вызвать serveResource из jsp
Нужна помощь