<form action="yanzheng.jsp" name="loginForm" method="post">
<table><td><input type="text" name="name" size="20" maxlength="20"/></td>
<td><input type="text" name="password" size="20" maxlength="20"/></td><td>
<select name="bumen" id="bumen" style="width:140px;">
<option >请选择部门</option>
<%!String sql1="select bumenname from bumen where 1=1";%>
<%
for(int i=0;i<sql.bumenchaxun(sql1).size();i++)
{
%>
<option value=<%=i%>><%=sql.bumenchaxun(sql1).get(i)%></option>
<%}%>
</select>
</td>
<td width="%50" align="center" valign="bottom" ><input type="submit" value="确定">
</td>
</table>
</form>
我把代码精简了下,给大家节约时间,现在的问题就是,那上面的部门是从数据库中查询出来的,但是我如果不选择部门直接点击 确定,就会报异常,程序直接运行不了,我又是以页面形式跳转,传递参数到下一个页面的,我改怎么处理了?
<table><td><input type="text" name="name" size="20" maxlength="20"/></td>
<td><input type="text" name="password" size="20" maxlength="20"/></td><td>
<select name="bumen" id="bumen" style="width:140px;">
<option >请选择部门</option>
<%!String sql1="select bumenname from bumen where 1=1";%>
<%
for(int i=0;i<sql.bumenchaxun(sql1).size();i++)
{
%>
<option value=<%=i%>><%=sql.bumenchaxun(sql1).get(i)%></option>
<%}%>
</select>
</td>
<td width="%50" align="center" valign="bottom" ><input type="submit" value="确定">
</td>
</table>
</form>
我把代码精简了下,给大家节约时间,现在的问题就是,那上面的部门是从数据库中查询出来的,但是我如果不选择部门直接点击 确定,就会报异常,程序直接运行不了,我又是以页面形式跳转,传递参数到下一个页面的,我改怎么处理了?
解决方案 »
- 在JSP项目中,怎么连接sqlserver2005呢,还有sqlserver2005的驱动包怎么使用?
- 高手进来看看
- 如何在utf-8中把繁體顯示為簡體
- 同一上机器两个IE Browse中登录两个用户时SESSION值乱了
- 请教:nrong.replaceAll(tmp,ldata);这句为何不起作用,还有显示内容时总是乱码?
- 转:jsp中作HTTP认证的问题
- 如果一个网站每天的IP访问量达到80万以上,该如何应付?
- 关于JAVA读取excel文件的问题
- 谁能帮我啊 :(
- 如何记jsp对数据库的查询像google那样归页
- 新手请教一下 jsp页跳servlet 一直是404未找到
- 网页自定义模板的功能如何制作?
org.apache.jasper.JasperException: java.lang.NumberFormatException: For input string: "请选择部门"
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.wsy.Filter.ModifyCode.doFilter(ModifyCode.java:27)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NumberFormatException: For input string: "请选择部门"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at org.apache.jsp.houtai.yanzheng_jsp._jspService(yanzheng_jsp.java:71)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
... 18 more
这个就是那个地方没有选择的异常
提交前判断下,是否为 -1
因为<option >请选择部门</option> 是页面的 并不是数据库的
所以可能action处理的时候需要的数据是必须从数据库取出来的
所以要设置一下
但是我的<option value="">这个地方本来就是个变量啊,我知道该处理这个问题,但是方案想不到,
而且传过去的值应该是null才对,我应该在本页面处理还是在接收页面处理了?
下拉菜单会有两个值,一个是value一个是显示的值,我这两值都是变量,传过去的是value值。而且,本页面是form提交所以不知道该怎么改,接收页面得到的值是null
{ var department = document.getElementById('bumen');
if( department.options[department.selectedIndex].innerHTML=='请选择部门')
{
alert("请选择部门");
return false;
}
}
<form action="yanzheng.jsp" name="loginForm" method="post" onsubmit="return check( )">
...
人笨了,开始没有反应过来,你说的什么意思,现在反应多来了,经过测试Rinoajun的方法解决了问题。多谢!