属性是什么?

时间:2009-06-28 18:52:51

标签: java jsp servlets

有人可以澄清属性的定义吗?

例如,在以下代码中,属性是什么:

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

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

5 个答案:

答案 0 :(得分:2)

请求属性是由键(在您的情况下为“ja”)索引的值,这些值在请求对象的生命周期中共享。在Java 过滤器,servlet,jsp,include和forward 中使用相同的请求对象,例如,您可以推送 servlet中的对象并它在JSP中。

同样的方法适用于会话和应用范围

答案 1 :(得分:1)

请求属性是(或者至少就像)对象的映射,在这种情况下,键是“ja”,值是新的foo.Employee。

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

答案 2 :(得分:1)

来自servlet API规范:

  

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

答案 3 :(得分:0)

这里的属性是添加到您的请求中的自定义信息(这里是一个新的foo.Employee)(在Map,Object>中。只要处理了此请求,此信息将持续使用,并且可以在以后使用这个过程,例如JSP。

答案 4 :(得分:0)

这是一个关键的价值对 来自文档: 的setAttribute

  

公共无效   setAttribute(java.lang.String name,                            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 Microsystems。       如果传入的值为null,则效果与调用相同   的removeAttribute(java.lang.String中)。