代码如下,点提交后无法页面跳转,要求根据选择的身份重定向到不同页面。
3-2.jsp
<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="submit" value="提交" name="submit">
</form>
<%
request.setCharacterEncoding("utf-8");
String job=request.getParameter("job");
String str=request.getParameter("name");
if(str项目可行性研究报告 ==null)
{ str="";
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b);
}
if(job.equals(""))
{response.sendRedirect("3-2.jsp");}
else if(job.equals("教师")){
response.sendRedirect("3-21.jsp");
}
else if(job.equals("学生")){
response.sendRedirect("3-22.jsp");
}
else if(job.equals("管理员")){
response.sendRedirect("3-23.jsp");
}
%>
3-21.jsp(与3-22,3-23基本一样)
<body>
<%out.print("您好+str+老师!"); %>
</body>
首先判断不要用用中文, job.equals("教师") 如果job值是"教师"这个equls也返回false..
对于你的这行代码: <input type="radio" name="job" value=“教师”>教师
1:input应该这样 <input /> 你少了一个/
2: value的值 应该用英语标点"" 不是中文“” 这个是有区别的
3: 最后一句:<%out.print("您好+str+老师!"); %>
应该是:<%out.print("您好"+str+"老师!"); %>
建议你把中文判断改为英文..
(1)看看你的前台,form表单是不是有语法问题,估计多半有问题。
(2)如果没有,用简单的System.out.println()语句写在后台,看下是否有值传到后台。
(3)如果能正确传到后台,再看看后台的代码是不是有语法逻辑错误。
一步步分析,别急,静下来想想。