I have a requirement like when i click on "submit" button,i should a small window containing buttons like "open","save" and "cancel".I will show an image for better understanding.
As you can see the above a popup window came and its asking like "open" or "save".I have tried by using different codes but not getting exactly what i want.Here is my code below.
searchResult3.jsp
<script type="text/javascript">
function generateReport() {
var e = document.getElementById("idOfYourSelectYouNeedToAddedIt");
var strPage = e.options[e.selectedIndex].value;
window.open(strPage);
return false; //This make you stay on this page;
//return true; //Set the action tag in the form to the page you like to go to!
}
</script>
<body>
<form name="myForm" onsubmit="return generateReport()">
<select id = "idOfYourSelectYouNeedToAddedIt">
<option value=''> Make a selection </option>
<option value='sample2PDF.jsp'> PDF</option>
<option value='sample2XLS.jsp'> XLS </option>
<option value='sample2DOC.jsp'> DOC </option>
<option value='sample2XLSX.jsp'> XLSX </option>
</select>
<br/>
<input type="submit" value="Submit">
</form>
</body>
sampleDOC.jsp
<%@ page import="java.io.*"%>
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.DriverManager"%>
<%@ page import="java.util.HashMap"%>
<%@ page import="java.util.Map"%>
<%@ page import="net.sf.jasperreports.engine.*"%>
<%@ page import="java.io.FileNotFoundException" %>
<%@ page import="java.io.InputStream" %>
<%@ page import="java.sql.SQLException" %>
<%@ page import="java.io.ByteArrayOutputStream" %>
<%@ page import="java.io.OutputStream" %>
<%@ page import="net.sf.jasperreports.engine.util.*" %>
<%@ page import="net.sf.jasperreports.engine.export.*" %>
<%@ page import="net.sf.jasperreports.engine.design.JRDesignQuery"%>
<%@ page import="net.sf.jasperreports.engine.xml.JRXmlLoader"%>
<%@ page import="net.sf.jasperreports.engine.design.JasperDesign"%>
<%@ page import="net.sf.jasperreports.view.JasperViewer"%>
<%@ page import="net.sf.jasperreports.engine.JRException"%>
<%@ page import="net.sf.jasperreports.engine.JasperCompileManager"%>
<%@ page import="net.sf.jasperreports.engine.JasperExportManager"%>
<%@ page import="net.sf.jasperreports.engine.JasperFillManager"%>
<%@ page import="net.sf.jasperreports.engine.JasperPrint"%>
<%@ page import="net.sf.jasperreports.engine.JasperReport"%>
<%@ page import="net.sf.jasperreports.engine.export.ooxml.JRDocxExporter"%>
<%@ page import="javax.servlet.http.HttpServletResponse"%>;
<%@ page trimDirectiveWhitespaces="true"%>
<html>
<body>
<%
String sql=null;
Connection conn = null;
Object o2 = session.getAttribute("email");
String email = o2.toString();
String search=(String)session.getAttribute("search");//search
String search_tf=(String)session.getAttribute("search_tf");//companyname,contactperson,phone
if((search!=null && search.trim().length()>0) && (search_tf!=null && search_tf.trim().length()>0))
{
if(search.equals("Phone"))
{
sql="select * from lead where Phone like '" + search_tf.replaceAll("\\'","''") + "%' AND Email = '" + email + "'";
}
else if(search.equals("Contact Person"))
{
sql="select * from lead where Contact_Person like '" + search_tf.replaceAll("\\'","''") + "%' AND Email = '" + email + "'";
}
else
{
sql="select * from lead where Company_Name like '" + search_tf.replaceAll("\\'","''") + "%' AND Email = '" + email + "'";
}
}
else
{
sql="select * from lead where Email = '" + email + "'";
}
try
{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/marketing_database","root","root");
String jrxmlFile ="D:/dev/tools/jasper files/report10.jrxml";
InputStream input = new FileInputStream(new File(jrxmlFile));
JasperDesign jasperDesign = JRXmlLoader.load(input);
System.out.println("Compiling Report Designs");
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
System.out.println("Creating JasperPrint Object");
HashMap<String,Object> map = new HashMap<String,Object>();
map.put("sql",sql);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,map,conn);
byte bytes[] = new byte[10000];
JRDocxExporter exporter = new JRDocxExporter();
ByteArrayOutputStream DOCStream = new ByteArrayOutputStream();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, DOCStream);
exporter.exportReport();
//System.out.println("Size of byte array:"+DOCStream.size());
//bytes = DOCStream.toByteArray();
String fileName = "SalesReport.doc";
response.addHeader("Content-Disposition", "inline; filename=\"" + fileName + "\"");
//response.setHeader("Content-Disposition", "inline; filename="
// + fileName);
response.setContentType("application/msword");
response.setContentLength(DOCStream.size());
//DOCStream.close();
OutputStream outputStream = response.getOutputStream();
DOCStream.writeTo(outputStream);
outputStream.flush();
//outputStream.close();
}
catch(Exception e)
{e.printStackTrace();}
%>
</body>
</html>