<%-- 
    Document   : index
    Created on : 2009-4-17, 12:06:51
    Author     : Administrator
--%><%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd"><html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
<%
try
        {
/*
if(request.getParameter("action")==null || request.getParameter("action")=="")
      {
    out.print("sdfsdfsdfsd");
}
*////*
    if(request.getParameter("action")!=null || request.getParameter("action")!="")
        {
        out.println(request.getParameter("action"));
    }
    else
        {
        out.println("Not action");
    }
if(request.getParameter("username")!=null)
    {
    out.println(request.getParameter("username"));
}
else
    {
// */
%>
    <form name="form1" method="get">
        <input type="text" name="username" value="" />
      
        <input type="hidden" name="action" value="my name is 莫逆" />        <input type="submit" value="Submit" name="submit" />
    </form>
    <%    ///*
    }
//*/
}
catch(Exception e)
{
    out.println("出错了!<br>");
    out.println(e.getMessage()+"<br>");
    out.println(e.getLocalizedMessage());
}    %>    </body>
</html>为什么页面会显示
null
和一个输入和按钮框,我上面明明判定了不等于null的,

解决方案 »

  1.   

    这个:if(request.getParameter("username")!=null)
    应该是:if(request.getParameter("username")!=null || request.getParameter("username")!="")这样吧?呵呵!
      

  2.   

     if(request.getParameter("action")!=null || request.getParameter("action")!="")
            {
            out.println(request.getParameter("action"));
        }
        else
            {
            out.println("Not action");
        }
    应该是这段打出来的,不应该用 || 应该用 &&,因为你的request.getParameter("action")=null,所以request.getParameter("action")!="" 为true,你用||的话,request.getParameter("action")!=null || request.getParameter("action")!=""为true,所以会打出null来。
      

  3.   

    request.getParameter("action")=="""".equals(request.getParameter("action"))
      

  4.   

    你输入的值有没有提交给本页嘛,提交给自己后不会出现你上面的那种情况了,另外你那个判断也有问题,应该是这样:
    if(request.getParameter("action")==null || request.getParameter("action").equals("")){
        //具体操作...
    }
    不能用等号,只能用它里面的方法equals()
      

  5.   

    (String)request.getParameter("action")
      

  6.   

    搞错了,是这个
    if(request.getParameter("action")!=null || !request.getParameter("action").equals("")){ 
        //具体操作... 
      

  7.   

    if(request.getParameter("action")==null)
      not do;
    else
      do;
      

  8.   

    呵,,我其实也这么想想,只是今天老师教jsp我想测试一下在页面上写一下测试,平时都经过封装的
    可是为什么呢我把||改成&&会是会输出else下面的内容然后我又改回来,尔后又改变request.getParameter("action").equals("")
    会输出异常错误的
    请各位再次详细好吗,以前没有注意这样的问题??
      

  9.   

    request.getParameter("")方法是获取的一个对象。string类型的 
    string类型的是对象比较应该用equals  而不能用==