request.getParameter()与request.getAttribute()有什么区别? getParameter得到的都是String类型的。或...

request.getParameter()与request.getAttribute()有什么区别?

getParameter得到的都是String类型的。或者是 http://a.jsp?id=123中的123,或者是某个表单提交过去的数据。
getAttribute则可以是对象。getParameter()是获取POST/GET传递的参数值;
getAttribute()是获取对象容器中的数据值

request.getParameter()是接受从浏览器上发出的请求,返回的一定是一个String。
request.getAttribute()一般是取从Servlet上setAttribute()的对象,返回可以是各种形式(Object)

另外使用struts,怎么用request.getAttribute()取得List

问:

在action中,将List通过request.setAttribute()存放,在jsp中通过request.getAttribute却得不到,怎么解决?传统的方式logic:iterator的方式怎么实现在jsp中显示集合元素

 

答:

这样加入到Context里:
List list = new List();
ServletContext context = this.servlet.getServletContext();
context.setAttribute("list", list);
这样得到:
List list = (List)getServlet().getServletContext().getAttribute("list");

getParameter()获得的是url中传递的参数,当HTML的form表单为post时,这些参数会隐式的进行传递,其获得的对象为String.

getAttribute()获得的是Action或Servlet处理后返回给页面的信息,在页面中可以用getAttribute()来获得.正如楼上所说,获得的是由setAttribute()方法赋的值,返回值是Object.

在做具体项目时,每个项目都会有查询功能,简单来说:
在查询页面点击查询按纽时,将form表单信息提交给处理类,处理类使用getParameter()获得.然后处理类操作DB找到匹配的记录结果集,然后使用request.setAttribute("list",list)方法将结果集暂存于request返回给查询页面,在查询页面中使用request.getAttribute("list")方法获得结果集,然后循环List输出结果到页面.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值