2009-06-28 163 views
2

任何人都可以请澄清属性的定义?什么是属性?

例如,在下面的代码,什么是一个属性:

request.setAttribute("ja",new foo.Employee()); 

是在上面的代码类型foo.Employee的对象()的属性,或它是键/值对,或它实际上是“ja”?

回答

2

请求属性是由它们在请求对象的生命共享的密钥(你的情况“JA”)索引值。在Java中filter,servlet,jsp,include和forward使用相同的请求对象,所以例如你可以push一个servlet中的对象和把它拉到它在JSP中。

同样的方法是对会话和应用范围

1

请求属性(或类似动作至少)地图上的对象,在这种情况下,关键是“JA”并且该值是一个新的foo.Employee。

会议,网页和应用程序具有相同的数据结构。

0

这里的属性是信息的定制片(这里是新foo.Employee)添加到您的请求(在地图,Object>中,这些信息将持续只要这个请求被处理,它可以在后面的过程中由一个JSP使用,例如

0

这是一个关键值对 从文档: 的setAttribute

公共无效 集属性(java.lang.String中的名字, java.lang.Object继承O)

Stores an attribute in this request. Attributes are reset between 

请求。此方法通常是 与 RequestDispatcher一起使用。

Attribute names should follow the same conventions as package names. 

以java开头的名称。 ,javax。, 和的com.sun。*,保留给 Sun微系统的使用。 如果传入的值为空,效果是相同的主叫 的removeAttribute(java.lang.String中)。

1

从servlet API规范:

属性是与请求相关联的对象。属性可以由 容器被设置为表达,否则无法通过API, 来表示,或者可以通过一个servlet设置将信息传送给另一个servlet(经由 RequestDispatcher的)的信息。 只有一个属性值可能与属性名称相关联。