使用eclipse编写jsp出现的错误。程序本身无错误~纠结

pinotao 2011-08-31 10:36:36
初学JSP,写了个简单的表单提交,编写过程中有过书写错误,如下面的hobby,在
【音乐<input type="checkbox" name="hobby" value="音乐"/> 
篮球<input type="checkbox" name="hobby" value="篮球"/> 
吉他<input type="checkbox" name="hobby" value="吉他"/> 
魔术<input type="checkbox" name="hobby" value="魔术"/> 
吸血鬼日记<input type="checkbox" name="hobby" value="吸血鬼日记"/> 
最初只把音乐的name 写对了,其他都拼成bobby。结果写完程序编译运行。出错了,修改正确后,这个问题却还在,有人说是缓存的问题,我又加了清除缓存的命令。结果还是不行。我用server运行出问题,但是用浏览器就没问题。
求解~!!!以下是源代码:
Form.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
<title>表单提交</title>
</head>
<body>
<form action="TestForm.jsp" method="post">
<table border="1" width="100%">
<tr>
<td>姓名</td>
<td><input type="text" name="name" size="20"></td>
</tr>
<tr>
<td>年龄</td>
<td><input type="text" name="age" size="20"></td>
</tr>
<tr>
<td>性别</td>
<td>男<input type="radio" name="sex" value="男">  女<input type="radio" name="sex" value="女"></td>
</tr>
<tr>
<td>爱好</td>
<td>
音乐<input type="checkbox" name="hobby" value="音乐"/> 
篮球<input type="checkbox" name="hobby" value="篮球"/> 
吉他<input type="checkbox" name="hobby" value="吉他"/> 
魔术<input type="checkbox" name="hobby" value="魔术"/> 
吸血鬼日记<input type="checkbox" name="hobby" value="吸血鬼日记"/> 
</td>
</tr>
<tr>
<td>生日</td>
<td><input type="text" name="birthday" size="20"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" value="提交"></td>
</tr>
</table>
</form>
</body>
</html>
TestForm.jsp
<%@page contentType="text/html; charset=utf-8" %>
<%
request.setCharacterEncoding("utf-8");
%>
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>表单提交</title>
</head>
<body>
<%
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
%>
<table border="1" width="100%">
<tr>
<td>姓名</td>
<td><%=request.getParameter("name")%></td>
</tr>
<tr>
<td>年龄</td>
<td><%=request.getParameter("age") %></td>
</tr>
<tr>
<td>性别</td>
<td><%=request.getParameter("sex") %></td>
</tr>
<tr>
<td>爱好</td>
<td>
<%
String[] hobby1=request.getParameterValues("hobby");
String str="";
for(int i=0;i<hobby1.length;i++)
{
str+=hobby1[i]+"<br>";
}
out.print(str);
%>
</td>
</tr>
<tr>
<td>生日</td>
<td><%=request.getParameter("birthday") %></td>
</tr>
<tr>
<td colspan="2">这样呢?</td>
</tr>
</table>
</body>
</html>
...全文
271 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
许愿的泪水 2012-06-02
  • 打赏
  • 举报
回复
在Jsp中获取复选框的值是应该先判断:
<%
request.setCharacterEncoding("UTF-8");
String [] array=null;
if((array=request.getParameterValus("hobby"))!=nul){
for(int i=0;i<array.length;i++)
{
str+=array[i]+"<br>";
}
out.print(str);
}
%>
小笨熊 2011-09-05
  • 打赏
  • 举报
回复
<td>
音乐<input type="checkbox" name="hobby" value="音乐"/> 
篮球<input type="checkbox" name="hobby" value="篮球"/> 
吉他<input type="checkbox" name="hobby" value="吉他"/> 
魔术<input type="checkbox" name="hobby" value="魔术"/> 
吸血鬼日记<input type="checkbox" name="hobby" value="吸血鬼日记"/> 
</td>

你这样就不合法,你要不用option要不是用复选框。

String[] hobby1=request.getParameterValues("hobby");
你这样,可以拿到值吗
pinotao 2011-08-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fulinkster 的回复:]

把具体错误信息贴上来!
[/Quote]
【这是我没有勾选音乐这个选项时的错误:】
description: The server encountered an internal error () that prevented it from fulfilling this request.

root cause

java.lang.NullPointerException
org.apache.jsp.jsp_005fpages.TestForm_jsp._jspService(TestForm_jsp.java:99)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

【如果勾选音乐选项以及其他选项,不会跳错误,但只显示音乐,其他不显示】
pinotao 2011-08-31
  • 打赏
  • 举报
回复
【这是我没有勾选音乐这个选项时的错误:】
description: The server encountered an internal error () that prevented it from fulfilling this request.

root cause

java.lang.NullPointerException
org.apache.jsp.jsp_005fpages.TestForm_jsp._jspService(TestForm_jsp.java:99)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

【如果勾选音乐选项以及其他选项,不会跳错误,但只显示音乐,其他不显示】
fulinkster 2011-08-31
  • 打赏
  • 举报
回复
把具体错误信息贴上来!
pinotao 2011-08-31
  • 打赏
  • 举报
回复
求解啊~ 自己顶一下

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧