javascript
  • java
  • jquery
  • jsp
  • servlets
  • 2015-10-06 16 views 0 likes 
    0

    purchase.jsp如何選擇一個選項標記值可以在兩個或更多的JSP頁面

    <form action="view.jsp" method="post"> 
        <select id='category'> 
        <option value=""> Make a selection </option> 
        <option value='company'>company</option> 
        <option value='institution'>institution</option> 
        <option value='hospital'>hospital</option> 
        <option value='Others'>Others</option> 
        </select> 
        <input type = "submit" value="Submit" 
        </form> 
    

    view.jsp的

    <script type="text/javascript"> 
    
         function setAction(nPage){ 
    
          document.forms[0].action = nPage; 
         } 
        </script> 
    <form> 
        <select onchange="setAction(this.value)"> 
        <option value=''> Make a selection </option> 
        <option value='PDF2.jsp'> PDF</option> 
        <option value='XLS2.jsp'> XLS </option> 
        <option value='DOC.jsp'> DOC </option> 
        <option value='XLSX2.jsp'> XLSX </option> 
        </select> 
    <input type="submit" value="Submit"> 
    </form> 
    

    檢索起初,我將從purchase.jsp,我選擇公司將點擊提交,它會去view.jsp,我會再次選擇PDF2.jsp,並點擊提交它將會l去PDF2.jsp page.Now我的問題是如何打印公司,我選擇purchase.jspPDF2.jsp。所以這裏有3個jsp頁面,第一個jsp頁面中選擇的值應該打印在第三個jsp頁面中,但是應該從第一個jsp(purchase.jsp)到第二個jsp(view.jsp),並從第二個jsp(view.jsp)到第三個jsp PDF2.jsp)。

    PDF2.jsp

    <body> 
    <form> 
    <% 
    String cat=request.getParameter("category"); 
    System.out.println("It is" +cat); 
    %> 
    </form> 
    </body> 
    
    +0

    一種選擇是將其存儲在隱藏的價值。 –

    +1

    可以將它存儲在會話變量 – charlietfl

    +0

    @charlietfl是的,它可以存儲在會話變量。現在我也意識到 –

    回答

    0

    purchase.jsp

    <form action="view.jsp" method="post"> 
    <select name="category"> 
    <option value=""> Make a selection </option> 
    <option value="company">company</option> 
    <option value="institution">institution</option> 
    <option value="hospital">hospital</option> 
    <option value="Others">Others</option> 
    </select> 
    
    <input type="submit" value="Submit"/> 
    
    </form> 
    

    view.jsp的

    <script type="text/javascript"> 
    
        function setAction(nPage){ 
    
         document.forms[0].action = nPage; 
        } 
    </script> 
    <form> 
    <% 
    String category=request.getParameter("category"); 
    session.setAttribute("cat",category); 
    %> 
    <select onchange="setAction(this.value)"> 
    <option value=''> Make a selection </option> 
    <option value='PDF2.jsp'> PDF</option> 
    <option value='XLS2.jsp'> XLS </option> 
    <option value='DOC.jsp'> DOC </option> 
    <option value='XLSX2.jsp'> XLSX </option> 
    </select> 
    <br/> 
    
    <input type="submit" value="Submit"> 
    </form> 
    

    PDF2.jsp

    <body> 
    <% 
    Connection conn = null; 
    
    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"); 
        Map parameters = new HashMap(); 
        parameters.put("category",session.getAttribute("cat")); 
        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,parameters,conn); 
        byte bytes[] = new byte[10000]; 
        JRPdfExporter exporter = new JRPdfExporter(); 
        ByteArrayOutputStream PDFStream = new ByteArrayOutputStream(); 
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); 
        exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, PDFStream); 
        exporter.exportReport(); 
        System.out.println("Size of byte array:"+PDFStream.size()); 
        bytes = PDFStream.toByteArray(); 
        response.setContentType("application/pdf"); 
        System.out.println("After JasperPrint = 1"); 
        response.setContentLength(bytes.length); 
        System.out.println("After JasperPrint = 2"); 
        PDFStream.close(); 
        System.out.println("After JasperPrint = 3"); 
    
        OutputStream outputStream = response.getOutputStream(); 
        System.out.println("After JasperPrint = 4"); 
        outputStream.write(bytes, 0, bytes.length); 
        outputStream.flush(); 
        outputStream.close(); 
    
    } 
    catch(Exception e) 
    {e.printStackTrace();} 
    
    %> 
    </body> 
    
    1

    在view.jsp的,將它設置成會議這樣

    <% 
    session.setAttribute("category",category); 
    %> 
    

    您可以檢索它在任何其他JSP這樣

    String company= (String)session.getAttribute("category"); 
    
    相關問題