站内搜索: 请输入搜索关键词

当前页面: 开发资料首页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前做一下是不是为空的判断,不为空再放入可能会更好一些!


恩,楼上说的不错


谢谢楼上各位


↑返回目录
前一篇: 这句SQL语句如何才能实现?
后一篇: 表单中value的值这么多是什么意思呢?