public abstract class Context
extends java.lang.Object
限定符和类型 | 字段和说明 |
---|---|
protected java.nio.charset.Charset |
charset |
java.lang.Throwable |
errors
用于在处理链中透传处理错误
|
java.lang.Object |
result
用于在处理链中透传处理结果
|
protected SessionState |
sessionState |
构造器和说明 |
---|
Context() |
限定符和类型 | 方法和说明 |
---|---|
java.lang.String |
accept()
获取 Accept 头信息
|
void |
accept(java.lang.String acceptNew) |
java.lang.String |
acceptNew()
获取新的 Accept 头信息
|
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 |
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()
获取设置的新内容类型
|
java.lang.Object |
controller()
获取当前控制器
|
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
|
java.lang.String[] |
cookieValues(java.lang.String name)
获取 cookie (多值)
|
static Context |
current()
获取当前线程的上下文
|
UploadedFile |
file(java.lang.String name)
获取上传文件
|
abstract MultiMap<UploadedFile> |
fileMap()
获取上传文件字典集合
|
java.util.Set<java.lang.String> |
fileNames()
获取所有文件的名字集合
|
abstract void |
filesDelete()
删除所有上传文件
|
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 |
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
|
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 请求
|
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 模式
|
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)
获取参数或默认
|
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()
获取响应对象
|
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)
设置渲染状态
|
abstract int |
status()
获取输出状态
|
void |
status(int status)
设置输出状态
|
protected abstract void |
statusDoSet(int status) |
abstract java.net.URI |
uri()
获取请求的URI
|
abstract java.lang.String |
url()
获取请求的URL字符串
|
java.lang.String |
userAgent()
获取请求的UA
|
protected SessionState sessionState
protected java.nio.charset.Charset charset
@Nullable public java.lang.Object result
@Nullable public java.lang.Throwable errors
public static Context current()
public java.util.Locale getLocale()
public void setLocale(java.util.Locale locale)
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 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.IOException
public java.lang.String body(java.lang.String charset) throws java.io.IOException
java.io.IOException
public java.lang.String bodyNew() throws java.io.IOException
java.io.IOException
public void bodyNew(java.lang.String bodyNew)
public byte[] bodyAsBytes() throws java.io.IOException
java.io.IOException
public abstract java.io.InputStream bodyAsStream() throws java.io.IOException
java.io.IOException
@Nullable public java.lang.String[] paramValues(java.lang.String name)
@Nullable public 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()
@Nullable public UploadedFile[] fileValues(java.lang.String name)
name
- 文件名@Nullable public UploadedFile file(java.lang.String name) throws java.io.IOException
name
- 文件名java.io.IOException
public abstract void filesDelete() throws java.io.IOException
java.io.IOException
public java.util.Set<java.lang.String> fileNames()
public abstract MultiMap<UploadedFile> fileMap()
@Nullable public 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
- 默认值@Nullable public java.lang.String[] cookieValues(java.lang.String name)
public java.util.Collection<java.lang.String> cookieNames()
public abstract MultiMap<java.lang.String> cookieMap()
@Nullable public 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名@Nullable public 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, @NonNull 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 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.IOException
public abstract java.util.zip.GZIPOutputStream outputStreamAsGzip() throws java.io.IOException
java.io.IOException
public 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.IOException
public abstract void outputAsFile(java.io.File file) throws java.io.IOException
java.io.IOException
public 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 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)
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)
@Nullable 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.Throwable
public final void render(java.lang.String view, java.util.Map<java.lang.String,?> data) throws java.lang.Throwable
java.lang.Throwable
public final java.lang.String renderAndReturn(java.lang.Object obj) throws java.lang.Throwable
java.lang.Throwable
public boolean remoting()
public void remotingSet(boolean remoting)
public abstract void flush() throws java.io.IOException
java.io.IOException
public abstract void close() throws java.io.IOException
java.io.IOException
@Nullable public 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()