Fórum
Проблема с запуском serveResource из jsp
Elliot Snake, modificado 9 Anos atrás.
Проблема с запуском serveResource из jsp
New Member Postagens: 8 Data de Entrada: 20/11/13 Postagens Recentes
Доброе время суток!
Подскажите, что делаю не так.
Пытаюсь найти решение по генерированию отчетов с помощью 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 9 Anos atrás.
RE: Проблема с запуском serveResource из jsp
Regular Member Postagens: 108 Data de Entrada: 27/03/12 Postagens Recentes
Тут скорее всего нужно уже спрашивать, как решили свой же собственный вопрос ))
А из вопроса не ясно какая из частей не работает.
Подозреваю, что не вызывался serveResource?
А из вопроса не ясно какая из частей не работает.
Подозреваю, что не вызывался serveResource?
Elliot Snake, modificado 9 Anos atrás.
RE: Проблема с запуском serveResource из jsp
New Member Postagens: 8 Data de Entrada: 20/11/13 Postagens Recentes
Вопрос пока не решен.
Не могу вызвать serveResource из jsp
Нужна помощь
Не могу вызвать serveResource из jsp
Нужна помощь