//login.jsp
<form action="1.jsp" method="post">
<input type="text" name="user_name"  ><br>
<input type="submit" value="submit" >
</form>
<% 
String name=request.getParameter( "user_name" );
session.setAttribute("name",name);
%>//1.jsp
<%=session.getAttribute("name")%>
为什么输入值后,打印出来的是null啊

解决方案 »

  1.   

    form action="1.jsp" 这个action指向的1。jsp
    login.jsp 这个页面中session设置的值肯定就是null
    1里面获取当然也是null了
      

  2.   

    //login.jsp
    <form action="" method="post">
    <input type="text" name="user_name"  ><br>
    <input type="submit" value="submit" name="submit">
    </form>
    <% 
    String submit=request.getParameter( "submit" );
    if(submit!=null&&submit.length()>0){
        session.setAttribute("name",request.getParameter( "user_name" ));
        response.sendRedirect("1.jsp");
    }
    %>
      

  3.   

    其实你出个错误的原因很简单的,你在<form action="1.jsp" method="post">这一句直接指向了
    1.jsp这个页面了,而你那个session语句根本就没有执行到,也就是说你那个session里根本就没有把那个值放在里面。所以就出现空了!
    lvdream() 的这个做法是对的!不过最好在放入session前做一下是不是为空的判断,不为空再放入可能会更好一些!
      

  4.   

    //login.jsp
    <form action="1.jsp" method="post">
    <input type="text" name="user_name"  ><br/>
    <input type="submit" value="submit" >
    </form>
    //1.jsp
    <% 
    String name=request.getParameter( "user_name" );
    session.setAttribute("name",name);
    %>
    <%=session.getAttribute("name")%>
    是不是你写错了啊