public abstract class Context
extends java.lang.Object
| 限定符和类型 | 字段和说明 |
|---|---|
protected java.nio.charset.Charset |
charset |
@Nullable java.lang.Throwable |
errors
用于在处理链中透传处理错误
|
protected static ScopeLocal<Context> |
LOCAL |
@Nullable java.lang.Object |
result
用于在处理链中透传处理结果
|
protected SessionState |
sessionState |
| 构造器和说明 |
|---|
Context() |
| 限定符和类型 | 方法和说明 |
|---|---|
java.lang.String |
accept()
获取 Accept 头信息
|
void |
accept(java.lang.String acceptNew) |
java.lang.String |
acceptNew()
获取新的 Accept 头信息
|
@Nullable Action |
action()
获取当前动作
|
abstract void |
asyncComplete()
异步完成
|
abstract void |
asyncListener(ContextAsyncListener listener)
异步监听
|
void |
asyncStart()
异步开始
|
abstract void |
asyncStart(long timeout,
java.lang.Runnable runnable)
异步开始
|
abstract boolean |
asyncStarted()
异步已开始
|
abstract boolean |
asyncSupported()
是否支持异步
|
<T> T |
attr(java.lang.String name)
获取上下文特性
|
java.util.Map<java.lang.String,java.lang.Object> |
attrMap()
获取自定义特性并转为Map
|
java.util.Collection<java.lang.String> |
attrNames()
获取上下文特性的名字集合
|
<T> T |
attrOrDefault(java.lang.String name,
T def)
获取上下文特性
|
void |
attrsClear()
清除所有上下文特性
|
void |
attrSet(java.util.Map<java.lang.String,java.lang.Object> map)
设置上下文特性
|
void |
attrSet(java.lang.String name,
java.lang.Object val)
设置上下文特性
|
boolean |
autoMultipart()
是否自动解析分段内容
|
void |
autoMultipart(boolean auto)
设置是否自动解析分段内容
|
java.lang.String |
body()
获取body内容
|
java.lang.String |
body(java.lang.String charset)
获取body内容
|
byte[] |
bodyAsBytes()
获取body内容为byte[]
|
abstract java.io.InputStream |
bodyAsStream()
获取body内容为Stream
|
java.lang.String |
bodyNew()
获取新的body
|
void |
bodyNew(java.lang.String bodyNew)
设置新的body
|
void |
cacheControl(java.lang.String strategy)
设置缓存控制
|
void |
charset(java.lang.String charset)
设置字符集
|
abstract void |
close()
关闭响应(一些特殊的boot才有效)
|
abstract java.lang.String |
contentCharset()
获取获取编码类型
|
abstract long |
contentLength()
获取内容长度
|
void |
contentLength(long size)
设置内容长度
|
abstract java.lang.String |
contentType()
获取内容类型
|
void |
contentType(java.lang.String contentType)
设置内容类型
|
protected abstract void |
contentTypeDoSet(java.lang.String contentType) |
java.lang.String |
contentTypeNew()
获取设置的新内容类型
|
@Nullable java.lang.Object |
controller()
获取当前控制器
|
@Nullable java.lang.String |
cookie(java.lang.String name)
获取 cookie
|
abstract MultiMap<java.lang.String> |
cookieMap()
获取小饼字典集合
|
java.util.Collection<java.lang.String> |
cookieNames()
获取所有小饼的名字集合
|
java.lang.String |
cookieOrDefault(java.lang.String name,
java.lang.String def)
获取 cookie
|
void |
cookieRemove(java.lang.String name)
移徐 cookie
|
abstract void |
cookieSet(Cookie cookie)
设置 cookie
|
void |
cookieSet(java.lang.String name,
java.lang.String val)
设置 cookie
|
void |
cookieSet(java.lang.String name,
java.lang.String val,
int maxAge)
设置 cookie
|
void |
cookieSet(java.lang.String name,
java.lang.String val,
java.lang.String domain,
int maxAge)
设置 cookie
|
void |
cookieSet(java.lang.String name,
java.lang.String val,
java.lang.String domain,
java.lang.String path,
int maxAge)
设置 cookie
|
void |
cookieSet(java.lang.String name,
java.lang.String val,
java.lang.String domain,
java.lang.String path,
int maxAge,
boolean httpOnly)
设置 cookie
|
@Nullable java.lang.String[] |
cookieValues(java.lang.String name)
获取 cookie (多值)
|
static Context |
current()
获取当前域的上下文
|
static <R,X extends java.lang.Throwable> |
currentWith(Context context,
CallableTx<R,X> callable)
使用当前域的上下文
|
static <X extends java.lang.Throwable> |
currentWith(Context context,
ConsumerTx<Context,X> runnable)
使用当前域的上下文
|
static <R,X extends java.lang.Throwable> |
currentWith(Context context,
FunctionTx<Context,R,X> callable)
使用当前域的上下文
|
static <X extends java.lang.Throwable> |
currentWith(Context context,
RunnableTx<X> runnable)
使用当前域的上下文
|
@Nullable UploadedFile |
file(java.lang.String name)
获取上传文件
|
abstract MultiMap<UploadedFile> |
fileMap()
获取上传文件字典集合
|
java.util.Set<java.lang.String> |
fileNames()
获取所有文件的名字集合
|
abstract void |
filesDelete()
删除所有上传文件
|
@Nullable UploadedFile[] |
fileValues(java.lang.String name)
获取上传文件数组
|
abstract void |
flush()
冲刷
|
void |
forward(java.lang.String pathNew)
转发
|
boolean |
getHandled()
获取处理状态
|
java.util.Locale |
getLocale()
获取地区
|
boolean |
getRendered()
获取渲染状态
|
java.lang.String |
getVersion()
获取版本
|
@Nullable java.lang.String |
header(java.lang.String name)
获取 header
|
abstract void |
headerAdd(java.lang.String name,
java.lang.String val)
添加 header
|
abstract MultiMap<java.lang.String> |
headerMap()
获取头字典集合
|
java.util.Collection<java.lang.String> |
headerNames()
获取所有头的名字集合
|
abstract java.util.Collection<java.lang.String> |
headerNamesOfResponse()
获取响应 headerNames
|
abstract java.lang.String |
headerOfResponse(java.lang.String name)
获取响应 header
|
java.lang.String |
headerOrDefault(java.lang.String name,
java.lang.String def)
获取 header
|
abstract void |
headerSet(java.lang.String name,
java.lang.String val)
设置 header
|
@Nullable java.lang.String[] |
headerValues(java.lang.String name)
获取 header (多值)
|
abstract java.util.Collection<java.lang.String> |
headerValuesOfResponse(java.lang.String name)
获取响应 header
|
boolean |
isFormUrlencoded()
是否为编码窗体
|
abstract boolean |
isHeadersSent()
是否头部已发送
|
boolean |
isMultipart()
是否为分段内容
|
boolean |
isMultipartFormData()
是否为分段表单数据
|
abstract boolean |
isSecure()
是否为 ssl 请求
|
void |
keepAlive(int timeout)
设置保持连接
|
abstract int |
localPort()
获取本地Port
|
@Nullable Handler |
mainHandler()
获取当前主处理器
|
abstract java.lang.String |
method()
获取请求方法
|
abstract void |
output(byte[] bytes)
输出 字节数组
|
abstract void |
output(java.io.InputStream stream)
输出 流对象
|
void |
output(java.lang.String str)
输出 字符串
|
void |
output(java.lang.Throwable ex)
输出 异常对象
|
abstract void |
outputAsFile(DownloadedFile file)
输出为文件
|
abstract void |
outputAsFile(java.io.File file)
输出为文件
|
void |
outputAsHtml(java.lang.String html)
输出为html文本
|
void |
outputAsJson(java.lang.String json)
输出为json文本
|
abstract java.io.OutputStream |
outputStream()
获取输出流
|
abstract java.util.zip.GZIPOutputStream |
outputStreamAsGzip()
获取输出流 gzip 模式
|
@Nullable java.lang.String |
param(java.lang.String name)
获取参数
|
<T> T |
paramAsBean(java.lang.Class<T> type)
获取参数并转为Bean
|
java.math.BigDecimal |
paramAsDecimal(java.lang.String name)
获取参数并转为BigDecimal
|
java.math.BigDecimal |
paramAsDecimal(java.lang.String name,
java.math.BigDecimal def)
获取参数并转为BigDecimal
|
double |
paramAsDouble(java.lang.String name)
获取参数并转为double
|
double |
paramAsDouble(java.lang.String name,
double def)
获取参数并转为double
|
int |
paramAsInt(java.lang.String name)
获取参数并转为int
|
int |
paramAsInt(java.lang.String name,
int def)
获取参数并转为int
|
long |
paramAsLong(java.lang.String name)
获取参数并转为long
|
long |
paramAsLong(java.lang.String name,
long def)
获取参数并转为long
|
abstract MultiMap<java.lang.String> |
paramMap()
获取参数字典集合
|
java.util.Collection<java.lang.String> |
paramNames()
获取所有参数的名字集合
|
java.lang.String |
paramOrDefault(java.lang.String key,
java.lang.String def)
获取参数或默认
|
@Nullable java.lang.String[] |
paramValues(java.lang.String name)
获取参数数组
|
abstract java.lang.String |
path() |
java.lang.String |
pathAsLower()
获取请求的URI路径并大写
|
java.lang.String |
pathAsUpper()
获取请求的URI路径并大写
|
java.util.Map<java.lang.String,java.lang.String> |
pathMap(java.lang.String expr)
获取请求的URI路径变量,根据路径表达式
|
java.lang.String |
pathNew()
获取新路径,不存在则返回原路径
|
void |
pathNew(java.lang.String pathNew)
设置新路径
|
abstract java.lang.String |
protocol()
获取请求协议
|
java.lang.String |
protocolAsUpper()
获取请求协议并大写
|
java.lang.Object |
pull(java.lang.Class<?> clz)
拉取
|
abstract java.lang.String |
queryString()
获取查询字符串
|
java.lang.String |
realIp()
获取客户端真实IP
|
void |
redirect(java.lang.String url)
跳转地址
|
abstract void |
redirect(java.lang.String url,
int code)
跳转地址
|
java.lang.String |
referer()
获取请求的Referer
|
abstract java.lang.String |
remoteIp()
获取远程IP
|
abstract int |
remotePort()
获取远程Port
|
boolean |
remoting()
是否为远程调用
|
void |
remotingSet(boolean remoting) |
void |
render(java.lang.Object obj)
渲染数据(不能重写,避免死循环)
|
void |
render(java.lang.String view,
java.util.Map<java.lang.String,?> data)
渲染数据
|
java.lang.String |
renderAndReturn(java.lang.Object obj)
渲染数据并返回
|
abstract java.lang.Object |
request()
获取请求对象
|
abstract java.lang.Object |
response()
获取响应对象
|
void |
returnValue(java.lang.Object obj)
(提交)返回值
|
java.lang.Object |
session(java.lang.String name) |
abstract <T> T |
session(java.lang.String name,
java.lang.Class<T> clz)
获取 session 状态
|
abstract double |
sessionAsDouble(java.lang.String name)
获取 session 状态,并以 double 型输出
|
abstract double |
sessionAsDouble(java.lang.String name,
double def)
获取 session 状态,并以 double 型输出
|
abstract int |
sessionAsInt(java.lang.String name)
获取 session 状态,并以 int 型输出
|
abstract int |
sessionAsInt(java.lang.String name,
int def)
获取 session 状态,并以 int 型输出
|
abstract long |
sessionAsLong(java.lang.String name)
获取 session 状态,并以 long 型输出
|
abstract long |
sessionAsLong(java.lang.String name,
long def)
获取 session 状态,并以 long 型输出
|
abstract void |
sessionClear()
清空 session 状态
|
abstract java.lang.String |
sessionId()
获取 sessionId
|
abstract <T> T |
sessionOrDefault(java.lang.String name,
T def)
获取 session 状态(类型转换,存在风险)
|
abstract void |
sessionRemove(java.lang.String name)
移除 session 状态
|
abstract void |
sessionReset()
重置 session 状态
|
abstract void |
sessionSet(java.lang.String name,
java.lang.Object val)
设置 session 状态
|
SessionState |
sessionState()
获取 sessionState
|
SessionState |
sessionState(boolean create)
获取 sessionState
|
void |
setHandled(boolean handled)
设置处理状态
|
void |
setLocale(java.util.Locale locale)
设置地区
|
void |
setRendered(boolean rendered)
设置渲染状态
|
void |
setVersion(java.lang.String version)
设置版本
|
abstract int |
status()
获取输出状态
|
void |
status(int status)
设置输出状态
|
void |
status(int status,
java.lang.String message)
设置输出状态与消息
|
protected abstract void |
statusDoSet(int status) |
abstract java.net.URI |
uri()
获取请求的URI
|
abstract java.lang.String |
url()
获取请求的URL字符串
|
java.lang.String |
userAgent()
获取请求的UA
|
protected static final ScopeLocal<Context> LOCAL
protected SessionState sessionState
protected java.nio.charset.Charset charset
public @Nullable java.lang.Object result
public @Nullable java.lang.Throwable errors
public static Context current()
public static <X extends java.lang.Throwable> void currentWith(Context context, RunnableTx<X> runnable) throws X extends java.lang.Throwable
X extends java.lang.Throwablepublic static <R,X extends java.lang.Throwable> R currentWith(Context context, CallableTx<R,X> callable) throws X extends java.lang.Throwable
X extends java.lang.Throwablepublic static <X extends java.lang.Throwable> void currentWith(Context context, ConsumerTx<Context,X> runnable) throws X extends java.lang.Throwable
X extends java.lang.Throwablepublic static <R,X extends java.lang.Throwable> R currentWith(Context context, FunctionTx<Context,R,X> callable) throws X extends java.lang.Throwable
X extends java.lang.Throwablepublic java.util.Locale getLocale()
public void setLocale(java.util.Locale locale)
public java.lang.String getVersion()
public void setVersion(java.lang.String version)
public void setHandled(boolean handled)
public boolean getHandled()
public void setRendered(boolean rendered)
public boolean getRendered()
public abstract boolean isHeadersSent()
public java.lang.Object pull(java.lang.Class<?> clz)
public abstract java.lang.Object request()
public abstract java.lang.String remoteIp()
public abstract int remotePort()
public abstract int localPort()
public java.lang.String realIp()
public boolean autoMultipart()
public void autoMultipart(boolean auto)
public boolean isFormUrlencoded()
public boolean isMultipart()
public boolean isMultipartFormData()
public abstract java.lang.String method()
public abstract java.lang.String protocol()
public java.lang.String protocolAsUpper()
public abstract java.net.URI uri()
public abstract java.lang.String path()
public void pathNew(java.lang.String pathNew)
public java.lang.String pathNew()
public java.util.Map<java.lang.String,java.lang.String> pathMap(java.lang.String expr)
public java.lang.String pathAsUpper()
public java.lang.String pathAsLower()
public abstract boolean isSecure()
public java.lang.String userAgent()
public java.lang.String referer()
public abstract java.lang.String url()
public abstract long contentLength()
public abstract java.lang.String contentType()
public abstract java.lang.String contentCharset()
public abstract java.lang.String queryString()
public java.lang.String accept()
public void accept(java.lang.String acceptNew)
public java.lang.String acceptNew()
public java.lang.String body()
throws java.io.IOException
java.io.IOExceptionpublic java.lang.String body(java.lang.String charset)
throws java.io.IOException
java.io.IOExceptionpublic java.lang.String bodyNew()
throws java.io.IOException
java.io.IOExceptionpublic void bodyNew(java.lang.String bodyNew)
public byte[] bodyAsBytes()
throws java.io.IOException
java.io.IOExceptionpublic abstract java.io.InputStream bodyAsStream()
throws java.io.IOException
java.io.IOExceptionpublic @Nullable java.lang.String[] paramValues(java.lang.String name)
public @Nullable java.lang.String param(java.lang.String name)
public java.lang.String paramOrDefault(java.lang.String key,
java.lang.String def)
public int paramAsInt(java.lang.String name)
public int paramAsInt(java.lang.String name,
int def)
public long paramAsLong(java.lang.String name)
public long paramAsLong(java.lang.String name,
long def)
public double paramAsDouble(java.lang.String name)
public double paramAsDouble(java.lang.String name,
double def)
public java.math.BigDecimal paramAsDecimal(java.lang.String name)
public java.math.BigDecimal paramAsDecimal(java.lang.String name,
java.math.BigDecimal def)
public <T> T paramAsBean(java.lang.Class<T> type)
public java.util.Collection<java.lang.String> paramNames()
public abstract MultiMap<java.lang.String> paramMap()
public @Nullable UploadedFile[] fileValues(java.lang.String name)
name - 文件名public @Nullable UploadedFile file(java.lang.String name) throws java.io.IOException
name - 文件名java.io.IOExceptionpublic abstract void filesDelete()
throws java.io.IOException
java.io.IOExceptionpublic java.util.Set<java.lang.String> fileNames()
public abstract MultiMap<UploadedFile> fileMap()
public @Nullable java.lang.String cookie(java.lang.String name)
name - cookie名public java.lang.String cookieOrDefault(java.lang.String name,
java.lang.String def)
name - cookie名def - 默认值public @Nullable java.lang.String[] cookieValues(java.lang.String name)
public java.util.Collection<java.lang.String> cookieNames()
public abstract MultiMap<java.lang.String> cookieMap()
public @Nullable java.lang.String header(java.lang.String name)
name - header名public java.lang.String headerOrDefault(java.lang.String name,
java.lang.String def)
name - header名public @Nullable java.lang.String[] headerValues(java.lang.String name)
name - header名public java.util.Collection<java.lang.String> headerNames()
public abstract MultiMap<java.lang.String> headerMap()
public SessionState sessionState(boolean create)
public SessionState sessionState()
public abstract java.lang.String sessionId()
public final java.lang.Object session(java.lang.String name)
public abstract <T> T session(java.lang.String name,
java.lang.Class<T> clz)
name - 状态名public abstract <T> T sessionOrDefault(java.lang.String name,
T def)
name - 状态名public abstract int sessionAsInt(java.lang.String name)
name - 状态名public abstract int sessionAsInt(java.lang.String name,
int def)
name - 状态名public abstract long sessionAsLong(java.lang.String name)
name - 状态名public abstract long sessionAsLong(java.lang.String name,
long def)
name - 状态名public abstract double sessionAsDouble(java.lang.String name)
name - 状态名public abstract double sessionAsDouble(java.lang.String name,
double def)
name - 状态名public abstract void sessionSet(java.lang.String name,
java.lang.Object val)
name - 状态名val - 值public abstract void sessionRemove(java.lang.String name)
name - 状态名public abstract void sessionClear()
public abstract void sessionReset()
public abstract java.lang.Object response()
public void charset(java.lang.String charset)
public void contentType(java.lang.String contentType)
public java.lang.String contentTypeNew()
protected abstract void contentTypeDoSet(java.lang.String contentType)
public void contentLength(long size)
public void keepAlive(int timeout)
timeout - 超时(单位:秒)public void cacheControl(java.lang.String strategy)
strategy - 策略public abstract void output(byte[] bytes)
public abstract void output(java.io.InputStream stream)
public abstract java.io.OutputStream outputStream()
throws java.io.IOException
java.io.IOExceptionpublic abstract java.util.zip.GZIPOutputStream outputStreamAsGzip()
throws java.io.IOException
java.io.IOExceptionpublic void output(java.lang.String str)
public void output(java.lang.Throwable ex)
public void outputAsJson(java.lang.String json)
public void outputAsHtml(java.lang.String html)
public abstract void outputAsFile(DownloadedFile file) throws java.io.IOException
java.io.IOExceptionpublic abstract void outputAsFile(java.io.File file)
throws java.io.IOException
java.io.IOExceptionpublic abstract void headerSet(java.lang.String name,
java.lang.String val)
public abstract void headerAdd(java.lang.String name,
java.lang.String val)
public abstract java.lang.String headerOfResponse(java.lang.String name)
public abstract java.util.Collection<java.lang.String> headerValuesOfResponse(java.lang.String name)
public abstract java.util.Collection<java.lang.String> headerNamesOfResponse()
public void cookieSet(java.lang.String name,
java.lang.String val)
public void cookieSet(java.lang.String name,
java.lang.String val,
int maxAge)
public void cookieSet(java.lang.String name,
java.lang.String val,
java.lang.String domain,
int maxAge)
public void cookieSet(java.lang.String name,
java.lang.String val,
java.lang.String domain,
java.lang.String path,
int maxAge)
public void cookieSet(java.lang.String name,
java.lang.String val,
java.lang.String domain,
java.lang.String path,
int maxAge,
boolean httpOnly)
public abstract void cookieSet(Cookie cookie)
public void cookieRemove(java.lang.String name)
public void redirect(java.lang.String url)
public abstract void redirect(java.lang.String url,
int code)
public void forward(java.lang.String pathNew)
public abstract int status()
public void status(int status)
public void status(int status,
java.lang.String message)
status - 状态message - 消息protected abstract void statusDoSet(int status)
public java.util.Map<java.lang.String,java.lang.Object> attrMap()
public <T> T attrOrDefault(java.lang.String name,
T def)
public <T> T attr(java.lang.String name)
public void attrSet(java.lang.String name,
java.lang.Object val)
public void attrSet(java.util.Map<java.lang.String,java.lang.Object> map)
public java.util.Collection<java.lang.String> attrNames()
public void attrsClear()
public final void render(java.lang.Object obj)
throws java.lang.Throwable
java.lang.Throwablepublic final void render(java.lang.String view,
java.util.Map<java.lang.String,?> data)
throws java.lang.Throwable
java.lang.Throwablepublic final java.lang.String renderAndReturn(java.lang.Object obj)
throws java.lang.Throwable
java.lang.Throwablepublic void returnValue(java.lang.Object obj)
throws java.lang.Throwable
java.lang.Throwablepublic boolean remoting()
public void remotingSet(boolean remoting)
public abstract void flush()
throws java.io.IOException
java.io.IOExceptionpublic abstract void close()
throws java.io.IOException
java.io.IOExceptionpublic @Nullable java.lang.Object controller()
public abstract boolean asyncSupported()
public abstract void asyncListener(ContextAsyncListener listener)
public abstract void asyncStart(long timeout,
java.lang.Runnable runnable)
timeout - 超时runnable - 运行器public void asyncStart()
public abstract boolean asyncStarted()
public abstract void asyncComplete()