2012-03-03 19 views
0

正常に動作する静的なスクリプトレットコードがあります。ユーザーがhtmlページのボタンをクリックすると、この静的コードを呼び出す必要があります。それで、ユーザーがhtmlボタンをクリックして関数内でスクリプトレットコードを配置したときに呼び出されるjavascriptで関数を作成することは可能ですか?次のようにJSPファイル内で、JavaScript内でScriptletコードを呼び出す方法

この

私の静的なスクリプトレットコードをどのように達成するかの正確なコードを教えてくださいは、次のとおりです。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
<%@ page import="java.io.*" %> 
<%@ page import="com.lowagie.text.Document" %> 
<%@ page import="com.lowagie.text.Element" %> 
<%@ page import="com.lowagie.text.html.simpleparser.HTMLWorker" %> 
<%@ page import="com.lowagie.text.html.simpleparser.StyleSheet" %> 
<%@ page import="com.lowagie.text.pdf.PdfWriter" %> 
<%@ page import="com.lowagie.text.pdf.codec.Base64" %> 
<%@ page import="java.util.ArrayList" %> 
<% 
    // This scriptlet declares and initializes "date" 
    Document pdfDocument = new Document(); 
     Reader htmlreader = new BufferedReader(new InputStreamReader(
           new FileInputStream("E:\\test.html") 
           )); 


     htmlreader.read(); 
     ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
     PdfWriter.getInstance(pdfDocument, baos); 
     pdfDocument.open(); 

     StyleSheet styles = new StyleSheet(); 
     styles.loadTagStyle("body", "font", "Bitstream Vera Sans"); 
     ArrayList arrayElementList = HTMLWorker.parseToList(htmlreader, styles); 
     for (int i = 0; i < arrayElementList.size(); ++i) { 
      Element e = (Element) arrayElementList.get(i); 
      pdfDocument.add(e); 
     } 
     pdfDocument.close(); 



     byte[] bs = baos.toByteArray(); 
     String pdfBase64 = Base64.encodeBytes(bs); //output 
     File pdfFile = new File("E:\\test.pdf"); 
     FileOutputStream output = new FileOutputStream(pdfFile); 
     output.write(bs); 
     output.close(); 
    System.out.println("Evaluating date now"); 
    java.util.Date date = new java.util.Date(); 
%> 
Hello! The time is now 
<% 
    // This scriptlet generates HTML output 
    out.println(String.valueOf(date)); 
%> 
</body> 
</html> 

答えて

1
is it possible to create a function in javascript which is called when the 
user clicks the html button 

は、回答:はい。

and inside the function the scriptlet code be placed? 

回答:いいえ

T彼の解決策はJavascript ajaxを利用することです。 jqueryを使用している場合は、jquery ajaxを使用してください。

関連する問題