是一个关于图片按钮表单提交的问题。
页面按钮源程序
……
<input border="0" src="pic/queding1.gif" name="submit" width="114" height="52" type="image" onClick="document.form1.submit()">
……
处理信息程序
<%@ page language="java" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<jsp:useBean id="LoginBean" scope="page" class="db.DbConnection" />
<%
String pub=request.getParameter("submit");
String ID=request.getParameter("ID");
String passwd=request.getParameter("passwd");
if (pub.length()>0) {
……
//处理数据
……
}
else {
out.println("用户名或密码错误!<a href='javascript:history.go(-1);'>返回</a>");
}
//}
//else {
//out.println("URL请求错误!");
//}
%>
出现问题:提交后系统抛出异常
原因:“String pub=request.getParameter("submit");”所接收的是字符串类型数据,在使用表单按钮(type="submit")时,程序运行正常;在使用图片按钮时,由于其type<>""subnit而是type="image",所以与“String pub”的类型不符
解决方法:使用“if (pub.length()>0) ”的目的是为了保证表单时提交后才被程序处理,从而防止非法输入。通过判断输入是否为空亦可达到同样效果,因此可以不再使用“String pub”,问题解决