使用scriptlet调用onClick函数

时间:2012-07-08 19:16:52

标签: jsp servlets

我想使用scriptlet编写单击Execute Test按钮时调用的函数此代码不起作用:

这是我的jsp代码:

<%@ 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>

<html:file properties="tonFichier" name="tonForm"/>
<%!

 public void executeTest() {

  java.util.Date d = new java.util.Date();
  System.out.println(d.toString()); } 

 %>

 <form enctype="multipart/form-data" method="get">


  <div>
  <input type="submit" value="Execute Test" onclick="executeTest()" >

  </div>
   </form>
  </body>
   </html>

请帮忙 干杯

3 个答案:

答案 0 :(得分:4)

您可以执行以下操作。

if(request.getParameter("btnSubmit")!=null) //btnSubmit is the name of your button, not id of that button.
{
    java.util.Date d = new java.util.Date();
    System.out.println(d.toString()); 
}

<input type="submit" id="btnSubmit" name="btnSubmit" value="Execute Test"/>

带有按钮的

onclick="executeTest()"会尝试调用Javascript函数。更改上面代码中提到的按钮标记,并在sciptlet中包含此代码。单击此按钮即可完成工作。

此外,您可能想要替换

System.out.println(d.toString()); 

out.println(d.toString()); 

代码。


另外,在您的表单标记中,

<form enctype="multipart/form-data" method="get">

上传文件时需要属性enctype="multipart/form-data"。你应该删除它,如果不是这样的话

method="post"

如果您使用enctype="multipart/form-data"

,则表单属性method="get"无法使用

答案 1 :(得分:1)

我认为你混淆了Java函数和Javascript函数,即服务器端和客户端。

答案 2 :(得分:0)

我们不能使用java调用在jsp页面中编写的函数。我们可以使用javascript创建事件并将值提交到另一个jsp页面以供进一步处理。