JSP页面无法跳转到指定页面

Angel_wispy 2012-10-14 02:10:24
想通过判断输入的姓名重定向到指定页面,可点击提交后不会跳转,是不是哪里写错了,要在3-21.jsp页面显示得怎么写代码?
3-2.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP '3-2.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
<form action="3-2.jsp" method="post">
请输入你的姓名:<input type="text" name="name">
<br>
请选择您的身份:
<input type="radio" name="job" value=“教师”>教师
<input type="radio" name="job" value=“学生”>学生
<input type="radio" name="job" value=“管理员”>管理员
<input type="hidden" name="toPost" value="p">
<input type="submit" value="提交" name="submit">
</form>
<%
request.setCharacterEncoding("utf-8");
String p = request.getParameter("toPost");
if(p!=null&&p.equals("p"))
{String str=null;
str=request.getParameter("boy");
if(str==null)
str="";
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b);
if(str.equals(""))
response.sendRedirect("3-2.jsp");
else if(str.equals("教师")){
response.sendRedirect("3-21.jsp");
}
else if(str.equals("学生")){
response.sendRedirect("3-22.jsp");
}
else if(str.equals("管理员")){
response.sendRedirect("3-23.jsp");
}
}
%>
</body>
</html>
3-21.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP '3-21.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%out.print("您好+str+老师!"); %>
</body>
</html>
...全文
601 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
失落夏天 2012-10-14
  • 打赏
  • 举报
回复
{String str=null;//str为空
str=request.getParameter("boy");//str有值
if(str==null)//如果不为空
str="";//str置为空
byte b[]=str.getBytes("ISO-8859-1");//str为空,那b[]为空
str=new String(b);//str还为空吧?
//建议在这里写上一条sysout输出语句测试一下就知道了
if(str.equals(""))//以下str都为空吧?那不都是运行
response.sendRedirect("3-2.jsp");//这一句?

else if(str.equals("教师")){
response.sendRedirect("3-21.jsp");
}
else if(str.equals("学生")){
response.sendRedirect("3-22.jsp");
}
else if(str.equals("管理员")){
response.sendRedirect("3-23.jsp");
}
Angel_wispy 2012-10-14
  • 打赏
  • 举报
回复
那得怎么修改才行
桃园闲人 2012-10-14
  • 打赏
  • 举报
回复
<input type="radio" name="job" value=“教师”>教师
<input type="radio" name="job" value=“学生”>学生
<input type="radio" name="job" value=“管理员”>管理员
<input type="hidden" name="toPost" value="p">
<input type="submit" value="提交" name="submit">
</form>
你这里的value永远都是p,所以下面的代码的if没有一个符合的,当然就不跳转了。
request.setCharacterEncoding("utf-8");
String p = request.getParameter("toPost");
if(p!=null&&p.equals("p"))
{String str=null;
str=request.getParameter("boy");
if(str==null)
str="";
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b);
if(str.equals(""))
response.sendRedirect("3-2.jsp");
else if(str.equals("教师")){
response.sendRedirect("3-21.jsp");
}
else if(str.equals("学生")){
response.sendRedirect("3-22.jsp");
}
else if(str.equals("管理员")){
response.sendRedirect("3-23.jsp");
}
}

81,122

社区成员

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

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