jsp中sendRedirect重新定向问题

来源:百度知道 编辑:UC知道 时间:2024/06/12 23:44:40
做一个简单的表单验证,假设表单显示页面为a.jsp,表单处理页面为b.jsp。我想实现表单中密码栏和确认密码输入不一致时就重新定向到a.jsp。我在a.jsp中是这样写的,
<%@ page contentType="text/html; charset=GBK" %>
<%if(request.getParameter("pwd")!=request.getParameter("pwd2")){
response.sendRedirect("reginput.jsp");
} %>
<html>
...
为什么不能实现呢,不论密码是否一致,都会定向到b.jsp
谁能帮帮我~~

request.getParameter得到的是String类型的变量
你 的PWD存储的时候是String的吗
如果是int类型的
还要通过Integer.parseInt转换的
另附:String比较的时候要用equal
不是!=
!=比较的是引用对象是否相同

这个你自己写的如果不相同就进行跳转,相同应该如何呢?你并没有告诉系统应该如何做啊?代码做如下的修改:
<%@ page contentType="text/html; charset=GBK" %>
<%
String pwd = request.getParameter("pwd");//如果是int型,就要修改为int pwd = Integer.parseInt(request.getParameter("pwd"));但是一般的密码定义不会使用int类型的
String pwd2= request.getParameter("pwd2");
if(pwd!=pwd2)
{
response.sendRedirect("a.jsp");
} else {
response.sendRedirect("reginput.jsp"); //这个reginput.jsp就是你所谓的b.jsp吧?
}
%>

这段代码应该放到,你所谓的b.jsp中,才能起作用

<%@ page contentType="text/html; charset=GBK" %>
<%
String pwd = request.getParameter("pwd");//如果是int型,就要修改为int pwd = Integer.parseInt(request.getParameter("pwd"));但是一般的密码定