社区
Java EE
帖子详情
request.getAttribute()和request.getParameter()的区别
brucecj1227
2006-03-23 10:08:01
请大虾们赐教
...全文
29601
9
打赏
收藏
request.getAttribute()和request.getParameter()的区别
请大虾们赐教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Times2001
2006-04-04
打赏
举报
回复
mark
这就是昵称阿
2006-04-04
打赏
举报
回复
一般的网页应用,如同 chenshaizi(陈绍彬) 所说,基本上是基于Post方式的传递,用getParameter取值。对于自己控制的,可以通过request.setAttribute和getAttribute 实现值得传递。
对于应用Structs框架的,getAttribute用的多一点,其他的基本上用getParameter
Jes_us
2006-04-03
打赏
举报
回复
那如果我在action中用String type = "222";setAttribute("type",type)之后,能不能在forword页面里用String type = getParameter("type")接收呢?
xuelei81
2006-04-03
打赏
举报
回复
一个传值,一个传对象,大不一样来!
huxinsheng168
2006-03-25
打赏
举报
回复
一个是变量类型,一个对象类型
mudboy
2006-03-23
打赏
举报
回复
楼上说得对
ljhxuer
2006-03-23
打赏
举报
回复
request.getAttribute()和request.getParameter()的区别是request.getAttribute()获得的是对象类型,而request.getParameter()获得的是字符串类型
chenshaizi
2006-03-23
打赏
举报
回复
个人认为:
request.getAttribute():是request时设置的变量的值,用request.setAttribute("name","您自己的值");来设置值,
request.getParameter():提取发送过来的参数如:本网页
http://community.csdn.net/Expert/topic/4633/4633804.xml?temp=.3488123
request.getParameter("temp")==".3488123"
ASPGuy
2006-03-23
打赏
举报
回复
request.getParameter
是用来接受来自get方法或post方法的参数
<form method=post>
<form method=get>
<a href="1.jsp?id=1">ok</a>
只能接受java.lang.String
也就是说String hotel_id = request.getParameter("hotel_id");
request.getAttribute
是用来接受来自servlet的变量或Action(其实Action就是特殊的Servlet)
在Action中,request.setAttribute("ret",ret);
只能接受java.lang.Object
也就是说List ret = (List)request.getAttribute("ret");
如果你只用JSP,根本用不到request.getAttribute()
request
.get
Parameter
() 和
request
.get
Attribute
()
区别
request
.get
Parameter
() 和
request
.get
Attribute
()
区别
基于
request
.get
Attribute
与
request
.get
Parameter
的
区别
详解
本篇文章小编为大家介绍,基于
request
.get
Attribute
与
request
.get
Parameter
的
区别
详解。需要的朋友参考下
get
Attribute
和get
Parameter
区别
.
1.get
Attribute
是取得jsp中 用set
Attribute
設定的
attribute
2.
parameter
得到的是string;
attribute
得到的是object 3.
request
.get
Parameter
()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据;
request
.set
Attribute
()和get
Attribute
()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。即
request
.get
Attribute
()方法返回
request
范围内存在的对象,而
request
.get
Parameter
()方法是获取http提交过来的数据。 JSP中get
Parameter
与get
Attribute
有何
区别
? ——说实话,这个问题当初我也困惑很久,我也知道怎么用,可是到底有什么
区别
,我也不是很清楚,后来找了很多资料才明白。昨天又有一位朋友问我这个问题,想我当初同样也困惑过,于是我就把这个问题贴出来,让同样困惑的朋友解惑。 ——get
Parameter
得到的都是String类型的。或者是http://a.jsp?id=123中的123,或者是某个表单提交过去的数据。 ——get
Attribute
则可以是对象。 ——get
Parameter
()是获取POST/GET传递的参数值; ——get
Attribute
()是获取对象容器中的数据值; ——get
Parameter
:用于客户端重定向时,即点击了链接或提交按扭时传值用,即用于在用表单或url重定向传值时接收数据用。 ——get
Attribute
:用于服务器端重定向时,即在sevlet中使用了forward函数,或struts中使用了mapping.findForward。get
Attribute
只能收到程序用set
Attribute
传过来的值。 ——get
Parameter
()是获取POST/GET传递的参数值; ——get
Attribute
()是获取SESSION的值; 另外,可以用set
Attribute
,get
Attribute
发送接收对象.而get
Parameter
显然只能传字符串。 set
Attribute
是应用服务器把这个对象放在该页面所对应的一块内存中去,当你的页面服务器重定向到另一个页面时,应用服务器会把这块内存拷贝另一个页面所对应的内存中。这样get
Attribute
就能取得你所设下的值,当然这种方法可以传对象。session也一样,只是对象在内存中的生命周期不一样而已。 get
Parameter
只是应用服务器在分析你送上来的
request
页面的文本时,取得你设在表单或url重定向时的值。get
Parameter
返回的是String,用于读取提交的表单中的值; get
Attribute
返回的是Objiect,需进行转换,可是set
Attribute
设置成任意对象,使用很灵活,可随时用;
request
.get
Parameter
()取值为null的解决方法
在后台通过
Request
取值为null,是因为只设置了id属性,而取值候用的是name属性,问题就出现在这里
基于servlet的购物车
//得到书号和书本对象 int bookid =Integer.parseInt(
request
.get
Parameter
("id")); Map
books = (Map
)
request
.getSession().getServletContext().get
Attribute
("books"); Book book = books.get(bookid); System.out.println(book); //得到数量 int bookNum = Integer.parseInt(
request
.get
Parameter
(String.valueOf(bookid))); System.out.println(bookNum); //封装成line对象 Line line = new Line(book, bookNum); System.out.println(line); ListBookStoreServiceImpl listBSSer = new ListBookStoreServiceImpl(); ShoppingCart obj = (ShoppingCart)
request
.getSession().get
Attribute
("shoppingCart"); ShoppingCart SC = listBSSer.getShoppingCart(obj,line); //保存到Session范围
request
.getSession().set
Attribute
("shoppingCart", SC); // System.out.println("SESSION===================>"+
request
.getSession().get
Attribute
("shoppingCart"));
request
.get
Request
Dispatcher("listcart.jsp").forward(
request
, response);
Java EE
67,513
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章