请帮忙找个错误

jiouxiao 2005-10-10 03:00:59
这是2个简单的JSP文件 当第一个JSP中不选任何一个提交时他就会报错
请帮个忙找个错啊

第一个文件
<%@page contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>首页</title>
</head>
<body>
欢迎光临E-shop!<br><br><br>
<center>
请选择您要进行的操作:
</center>
<br><br><br><br><br><br><br><br><br>
<center>
<form method="POST" action="asf.jsp">
注册<input type="radio" name="se" value="in">
登陆<input type="radio" name="se" value="de">   
<input type="submit" value="提交">
</form>
</body>
</html>

第2个
<%--使用下个语句可以保证中文可以无误输出--%>
<%@ page contentType="text/html;charset=gb2312" %>
<html>
<head><title>客户端确认1</title></head>
<body>
<%String value=request.getParameter("se");
out.println(value);
if(value.equals("in"))
{%>
<jsp:forward page="eshopfirst.jsp"/>
<%}
if(value.equals("de"))
{%>
<jsp:forward page="mytest1.jsp"/>
<%}
else
{%>
<form method="post" action="eshopfirst.jsp">
姓名<input type="text" name="na">
密码<input type="text" name="pa">
<input type="submit" value="提交">
</from>
<%}%>
</body>
</html>

文件名和参数应该没问题 就是当不选任何一项时返回不了正确的内容
...全文
85 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
baggio785 2005-10-10
  • 打赏
  • 举报
回复
因为String value=request.getParameter("se");,最后的结果可能是null,所以在if(value.equals("in"))这句出错了
zebra007 2005-10-10
  • 打赏
  • 举报
回复
今天满天的星星呵
yacool 2005-10-10
  • 打赏
  • 举报
回复
我习惯把字符串比较写成这样:"se".equals(value)
OnlyFor_love 2005-10-10
  • 打赏
  • 举报
回复
对于登陆和注册用单选框的方式不太好,你完全可以直接用超连接就可以了

<a href="a.jsp">登陆</a>
<a href="b.jsp">注册</a>
OnlyFor_love 2005-10-10
  • 打赏
  • 举报
回复
如果你两个都不选的话,你用request.getParameter()方法取得的是null,所以会出现空指针异常。

解决方法很多:

1:楼上说的方法不错,你可以设置一个默认选择,也就是把“注册”或“登陆”设置为选中状态。


2:你可以用javascript来做一个判断,判断用户是否选择了,没有选择的话就提醒他选择。
代码如下:
<script language="javascript">
function check(){
var temp1 = document.form1.se.value;
if((temp1 != "in") && (temp1 != "de")){
alert("error");
return false;
}
else return true;
}
</script>

form表单稍微改一下:
<form method="POST" action="asf.jsp" name="form1" onClick="return check();">
jiouxiao 2005-10-10
  • 打赏
  • 举报
回复
谢谢
那个问题是怎么产生的?
是request的问题还是程序中的问题?
zebra007 2005-10-10
  • 打赏
  • 举报
回复
第一个jsp中的 <input type="radio" name="se" value="de">
改为<input type="radio" name="se" value="de" checked>
这样就保证可以一定有值了

第二个jsp的String value=request.getParameter("se");
后也可以加if (value==null) value="de";
这样即使没有值传过来,默认也是“de”了

81,092

社区成员

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

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