当前页面: 开发资料首页 → JSP 专题 → 问个session传值问题
问个session传值问题
摘要: 问个session传值问题
//login.jsp
<form action="1.jsp" method="post">
<input type="text" name="user_name" >
<input type="submit" value="submit" >
</form>
<%
String name=request.getParameter( "user_name" );
session.setAttribute("name",name);
%>
//1.jsp
<%=session.getAttribute("name")%>
为什么输入值后,打印出来的是null啊
form action="1.jsp" 这个action指向的1。jsp
login.jsp 这个页面中session设置的值肯定就是null
1里面获取当然也是null了
那应该怎么改呢
//login.jsp
<form action="" method="post">
<input type="text" name="user_name" >
<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");
}
%>
其实你出个错误的原因很简单的,你在<form action="1.jsp" method="post">这一句直接指向了
1.jsp这个页面了,而你那个session语句根本就没有执行到,也就是说你那个session里根本就没有把那个值放在里面。所以就出现空了!
lvdream() 的这个做法是对的!不过最好在放入session前做一下是不是为空的判断,不为空再放入可能会更好一些!
恩,楼上说的不错
谢谢楼上各位