当前页面: 开发资料首页 → JSP 专题 → request 的参数传递
request 的参数传递
摘要: request 的参数传递
request.setAttribute("dataSource","failure");该语句写在Action下,然后在转入的JSP页面下用System.out.println(request.getParameter("dataSource"));语句读数据,为什么读出的是NULL值啊!同样,用System.out.println(request.getAttribute("dataSource"))"));语句读出的也是NULL值。我想知道为什么,另外,request的getParameter和getAttribute有什么区别???
System.out.println(request.getParameter("dataSource"));
这句去获得值肯定上空的,
你在jsp页面要显示dataSource的值,你必须
<%=request.getAttribute("dataSource")%>
request.getParameter是获取url中传过来的参数,他也可以获取表单中字段的值
例如<input type="text" name="test" value="test">
你在action里面可以request.getParameter("test")得到input的值.
request.getAttribute就是获取上个页面或者Action里面传过来的值
request.setAttribute("dataSource","failure");
这个东西,在jsp里面,要这样获得值 (String)request.getAttribute("dataSource");
request的getParameter和getAttribute 这2个区别是,前面的传的是参数值,可以在url里面出现
后面的传的大部分是对象,数组,集合等东西,但是获取的时候要强制转换类型
to tcmis(难道你忘了吗?) :
很感谢人回贴哦!
你说要用<%=request.getAttribute("dataSource")%>,我现在是TOMCAT 控制台上显示null,按说应该有值,不知是什么原因,常见原因有哪些,能说一下吗?
2 楼的正解。
request.getParameter("")是用来读取页面表单或url传递的值,即post和get方式发送到服务器的值,而getAttribute()方法是获得用request.setAttribute()方法,将参数保存在请求中的对象,获得的是一个object,需要强制转换
你说 :用System.out.println(request.getAttribute("dataSource"))"));语句读出的也是NULL值。
怎么那么多尾括弧啊
恩,忘了,需要加上(String)转换一下。
感谢各位啊