JSP无法跳转
代码如下,点提交后无法页面跳转,要求根据选择的身份重定向到不同页面。
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+"老师!"); %>
建议你把中文判断改为英文..
ps:哥们先把昨天的帖子结了吧,嘿嘿~
[解决办法]
<input type="radio" name="job" value="教师">教师
<input type="radio" name="job" value="学生">学生
<input type="radio" name="job" value="管理员">管理员
<input type = "hidden" name="post" value="p"/>
<input type="submit" value="提交" name="submit">
</form>
<%
request.setCharacterEncoding("utf8");
String p = request.getParameter("post");
if(p!=null&&p.equals("p"))
{
String job=request.getParameter("job");
String str=request.getParameter("name");
if( str==null)
{
str = "";
}
System.out.println(job);
if(job.equals(""))
{
response.sendRedirect("3-2.jsp");}
else if(job.equals("教师")){
response.sendRedirect("3-21.jsp?name="+str);
}
else if(job.equals("学生")){
response.sendRedirect("3-22.jsp?name="+str);
}
else if(job.equals("管理员")){
response.sendRedirect("3-22.jsp?name="+str);
}
}
%>
</body>
</html>
3-21.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
request.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
%>
<%=name %> <br>
注意request.setCharacterEncoding("utf-8");和你的pageEncoding="utf-8"一样