org.soybeanMilk.web.os
类 WebObjectSource
java.lang.Object
org.soybeanMilk.core.os.ConvertableObjectSource
org.soybeanMilk.web.os.WebObjectSource
- 所有已实现的接口:
- ObjectSource
public class WebObjectSource
- extends ConvertableObjectSource
用于WEB应用的对象源,它的实例的生命周期与一次请求的生命周期相同。
传递给它的关键字会被理解为由两个部分组成:[scope].[yourKey],其中
“[scope]”表示作用域,“[yourKey]”则是真正的该作用域下的关键字。
它目前所支持的关键字格式及其说明如下:
-
set
-
yourKey
结果将以“yourKey”关键字被保存到“request”作用域中
-
request.yourKey
同上
-
session.yourKey
结果将以“yourKey”关键字被保存到“session”作用域中
-
application.yourKey
结果将以“yourKey”关键字被保存到“application”作用域中
-
get
-
param
整个请求参数映射表。如果目标类型是java.util.Map,
那么它不会做任何处理而直接返回整个参数映射表;如果是其他类型,它会首先将此映射表转换为这个类型的对象,然后返回此对象。
-
yourKey
请求参数映射表中以“yourKey”开头的请求参数。
如果这个参数有明确的值,它将对这个值进行类型转换(需要的话),然后返回转换后的对象;否则,就根据“yourKey”来对参数映射表进行过滤,
产生一个新的映射表(它的主键是原始关键字“yourKey.”之后的部分,比如由“beanName.propertyName”变为“propertyName”),
然后,与上面提到的一样,根据目标类型直接返回这个新映射表或者返回转换后的对象。
-
param.yourKey
同上。
-
request
请求HttpServletRequest对象。框架本身并没有提供它的转换器,如果目标类型不是“HttpServletRequest”,
那么你需要为它的通用转换器添加“javax.servlet.http.HttpServletRequest”到目标类型的辅助转换器。
-
request.yourKey
请求属性中的“yourKey”关键字对应的对象。它不会对此对象执行类型转换,目标类型应该与这个关键字对应的对象一致。
-
session
会话HttpSession对象。框架本身并没有提供它的转换器,如果目标类型不是“HttpSession”,
那么你需要为它的通用转换器添加“javax.servlet.http.HttpSession”到目标类型的辅助转换器。
-
session.yourKey
会话属性中的“yourKey”关键字对应的对象。它不会对此对象执行类型转换。
-
application
应用ServletContext对象。如果目标类型不是“ServletContext”,
那么你需要为它的通用转换器添加“javax.servlet.ServletContext”到目标类型的辅助转换器。
-
application.yourKey
应用属性中的“yourKey”关键字对应的对象。它不会对此对象执行类型转换。
-
response
回应HttpServletResponse对象。如果目标类型不是“HttpServletResponse”,
那么你需要为它的通用转换器添加“javax.servlet.http.HttpServletResponse”到目标类型辅助转换器。
实际上,你在配置文件中定义的<arg>关键字的格式就是由它决定的。
- 作者:
- earthAngry@gmail.com
|
构造方法摘要 |
WebObjectSource(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
javax.servlet.ServletContext application)
|
WebObjectSource(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
javax.servlet.ServletContext application,
GenericConverter genericConverter)
|
|
方法摘要 |
java.lang.Object |
get(java.io.Serializable key,
java.lang.Class<?> objectType)
取得对象 |
javax.servlet.ServletContext |
getApplication()
|
javax.servlet.http.HttpServletRequest |
getRequest()
|
javax.servlet.http.HttpServletResponse |
getResponse()
|
void |
set(java.io.Serializable key,
java.lang.Object obj)
保存对象 |
void |
setApplication(javax.servlet.ServletContext application)
|
void |
setRequest(javax.servlet.http.HttpServletRequest request)
|
void |
setResponse(javax.servlet.http.HttpServletResponse response)
|
| 从类 java.lang.Object 继承的方法 |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
WebObjectSource
public WebObjectSource(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
javax.servlet.ServletContext application)
WebObjectSource
public WebObjectSource(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
javax.servlet.ServletContext application,
GenericConverter genericConverter)
getRequest
public javax.servlet.http.HttpServletRequest getRequest()
setRequest
public void setRequest(javax.servlet.http.HttpServletRequest request)
getResponse
public javax.servlet.http.HttpServletResponse getResponse()
setResponse
public void setResponse(javax.servlet.http.HttpServletResponse response)
getApplication
public javax.servlet.ServletContext getApplication()
setApplication
public void setApplication(javax.servlet.ServletContext application)
get
public java.lang.Object get(java.io.Serializable key,
java.lang.Class<?> objectType)
- 从接口
ObjectSource 复制的描述
- 取得对象
- 指定者:
- 接口
ObjectSource 中的 get - 指定者:
- 类
ConvertableObjectSource 中的 get
- 参数:
key - 对象关键字objectType - 要取得对象的类型,如果为null,则表明调用者不关心对象类型
- 返回:
set
public void set(java.io.Serializable key,
java.lang.Object obj)
- 从接口
ObjectSource 复制的描述
- 保存对象
- 指定者:
- 接口
ObjectSource 中的 set - 指定者:
- 类
ConvertableObjectSource 中的 set
- 参数:
key - 对象关键字obj - 要保存的对象