myexampleResponse1.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head></head>
<body>
<p>输入名字:</p>
<form action="myexampleResponse1R.jsp" method="post" name="Response1R_FORM"> 
<input type="text" name="username" />
<input type="submit" name="boy" value="登陆"/>
</form>
</body>
</html>
myexampleResponse1R.jsp:
<html>
<head></head>
<body>
<% 
request.setCharacterEncoding("GBK");
String str = request.getParameter("username");
//out.print(str);
if(str.isEmpty()){  //如果输入为空则跳转
// str ="";
out.print("<p>ddddd</p>");
response.sendRedirect("myexampleResponse1.jsp");
}
else{
//str = new String(str.getBytes("ISO8859-1"),"GBK");
}
 %>
 <p>欢迎  <%=str %> 进入本网页</p>
</body>
</html>有个问题就是下面的JSP页面中,,if判断中我写成if(str==null)的话,下面的sendRedirect不生效(不会重定向) 写成现在这样if(str.isEmpty()) 就会执行重定向javajspjavaee

解决方案 »

  1.   

    if(null==str){  //如果输入为空则跳转
        //    str ="";
        out.print("<p>ddddd</p>");
            response.sendRedirect("myexampleResponse1.jsp");    
        }
        else{
            //str = new String(str.getBytes("ISO8859-1"),"GBK");    
        }
      

  2.   

    在第二个页面中获取的username应该是空字符串,空字符串当然不等于null了,并且使用isEmpty()判断会返回true。
      

  3.   


    response.sendRedirect("myexampleResponse1.jsp"); 
    下面加上
    return;
      

  4.   

    空字符串和null是不相等的,应该是if(!str.isEmpty()&&str!=null)再判断
      

  5.   

    ==null和isEmpty是不一样的,==null说明这个对象不存在。isEmpty是存在,但没值。
      

  6.   

    如果按你的来 应该是 str==""  这个 ,在js 中有几种常见的默认值比如说 null ,"",undentified,
    遇到这种情况其实你 alert(str)一下 就行
      

  7.   

    usernae="";应该是得到的这个。所以,肯定不是null了啊。。