public class Controller extends Object
| 限定符和类型 | 类和说明 |
|---|---|
static class |
Controller.FreeMarker
用来标志输出类型的特殊类
|
static class |
Controller.JSP
用来标志输出类型的特殊类
|
static class |
Controller.Require |
| 限定符和类型 | 字段和说明 |
|---|---|
javax.servlet.ServletContext |
application
同jsp中的application对象。
|
javax.servlet.http.HttpServletRequest |
request
请求对象,同jsp中的request。
|
javax.servlet.http.HttpServletResponse |
response
响应对象,同jsp中的response。
|
javax.servlet.http.HttpSession |
session
会话对象。
|
protected PrintWriter |
writer
输出对象,类似jsp中的out对象,但请优先使用output、outputJSON、downloadFile等函数。
|
| 构造器和说明 |
|---|
Controller() |
| 限定符和类型 | 方法和说明 |
|---|---|
Object |
app(String key)
获取application对象中存储 的变量
|
void |
app(String key,
Object val) |
Double |
appDouble(String key)
获取application对象中存储 的变量
|
Integer |
appInt(String key)
获取application对象中存储 的变量
|
String |
appStr(String key)
获取application对象中存储 的变量
|
void |
checkNull(String name,
Object obj)
检查obj是否为null,如果为null,则抛出NullParamException ,这个错误会最终在网页上显示。
|
String |
cookie(String key)
获取cookie
|
String |
cookie(String key,
Object value,
int period_ms)
设置cookie
|
static void |
disableGzip()
设置关闭gzip功能,全部以text/plain形式发送内容
默认为打开状态
|
void |
download(String path)
输出下载内容。
|
void |
dump() |
void |
dumpParam() |
static void |
enableGzip()
设置开启gzip功能,如果发现客户端可以支持gzip(监测Accept-Encoding),则压缩发送。
|
boolean |
existFile(String path)
是否存在某个文件
|
Controller.FreeMarker |
freemarker(String path)
在控制器方法中 return freemarker()为输出freemarker的意思
|
String |
getClearQuery(String q) |
String |
getDefaultTemp()
获取默认的模板
|
String |
getLang()
获取当前请求所接受的语言种类
|
Map<String,String[]> |
getParamMap() |
String |
getPath()
获取当前控制器对应的URL路径
|
void |
header(String name,
String val) |
boolean |
isGet()
返回当前请求是否为Get请求,
|
boolean |
isPost()
返回当前请求是否为Post请求,
|
boolean |
isSingle()
返回当前控制器是否是单例模式
|
String |
json(Object obj) |
String |
json(Object obj,
boolean pretty) |
void |
jsonToParam()
将json中的数据转入param,使得用户察觉不到什么异常。
|
Controller.JSP |
jsp()
在控制器方法中,return jsp(); 即为输出jsp的意思。
|
Controller.JSP |
jsp(String path)
在控制器方法中,return jsp(); 即为输出jsp的意思。
|
void |
jump(String url)
跳转到新页面/重定向。
|
LasyList |
L(String tableName)
获取LasyList对象
|
String |
method()
获取HTTP请求的方法,GET/POST/PUT 等
|
void |
output(String s)
输出字符串 并关闭流
|
boolean |
outputBytes(byte[] ba)
输出一个字节流
|
void |
outputJSON(Object obj)
输出JSON字符串到网页
|
void |
outputJSON(Object obj,
boolean pretty) |
LasyList |
page(LasyList list)
自动处理分页问题,对应URL参数 page 为页码, pagesz为页面大小(默认为30)
|
LasyList |
page(LasyList list,
int pagesize)
自动处理分页问题,对应URL参数 page 为页码, pagesz为页面大小(默认为30)
|
String |
param(String p)
获取URL参数或者Form提交的参数
|
String |
param(String name,
String def)
制定默认值并获取URL参数,如果参数不存在,则返回默认值。
|
Integer |
paramInt(String p)
获取URL参数或者Form提交的参数,并自动转换为int,如果不是整数则会报错。
|
Integer |
paramInt(String p,
int def)
获取URL参数或者Form提交的参数,并自动转换为int,如果不是整数则会报错。
|
String |
paramJSON()
当content-type 为application/json ,该函数获取传来的json字符串
|
Model |
paramToModel(Model m)
根据名称匹配的原则,将与模型中参数名相同的参数的值放入模型中。
|
<T> T |
paramToObj(T obj)
将参数中的值拷贝到对象的对应属性中
如 height参数拷贝到obj的height属性中
|
<T> T |
paramToObj(T obj,
String prefix)
将参数中的值拷贝到对象的对应属性中
如 height参数拷贝到obj的height属性中
当prefix 为haha_的时候, haha_height会拷贝到obj的height属性中
|
protected int |
paramWithDefaultInt(String pname,
int def)
已过时。
|
void |
put(String name,
Object obj) |
void |
put(String name,
Object obj,
Object... others)
向request中放入数据,方便在jsp中使用getAttribute获取,或者
使用EL表达式读取
这个方法是MVC框架中使用频率非常高的一个方法。 |
void |
putListTable(String name,
LasyList list)
将列表以表格方式输出到name指定request变量中
|
void |
putModelItem(Model m)
将model中的每个字段以单独的变量形式加入request中
|
void |
putParam(String key,
Object val)
追加参数, 同样可以用param获取到最佳的参数
|
void |
removeApp(String key) |
void |
removeCookie(String key)
删除cookie
|
void |
removeSession(String key) |
void |
render()
使用模板目录中对应的文件进行渲染
|
void |
render(String view)
渲染一个模板,模板为参数view指定,这个路径是相对于配置中的template目录的。
|
void |
renderForm(Model m) |
void |
renderForm(Model m,
String template,
String postTo) |
void |
renderFreeMarker(String path)
使用FreeMarker进行数据显示
|
String |
reqBody()
读取请求中的正文部分
|
void |
require(String session_key,
Object value,
String jump_url,
String err)
限制当前Controller类中的所有方法的访问权限。
|
void |
require(String session_key,
String jump_url)
限制当前类所有方法的访问权限,一般在构造函数中调用。
|
void |
runMethod(Method method)
执行某个方法
|
Object |
sess(String key)
获取Session中key制定变量的值
|
void |
sess(String key,
Object val)
设置Session中key变量的值为val
|
Double |
sessDouble(String key)
获取double类型session变量
|
Integer |
sessInt(String key)
获取int类型session变量
|
String |
sessStr(String key)
获取String类型session变量
|
void |
setReq(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse resp)
由过滤器调用这个方法来传送 request和response对象
|
void |
setSingle(boolean single)
设置当前控制器为单例模式, 需要注意的是,只有不使用除了request、response、session之外的类变量的才可以使用单例。
|
DBTool |
T(String tableName)
获取tool对象
|
String |
urlParam(String p)
应对一些url乱码
|
public javax.servlet.http.HttpServletRequest request
public javax.servlet.http.HttpServletResponse response
public javax.servlet.http.HttpSession session
protected PrintWriter writer
public javax.servlet.ServletContext application
public Controller.JSP jsp(String path)
path - jsp文件相对路径public Controller.JSP jsp()
public Controller.FreeMarker freemarker(String path)
path - 模板文件路径public void putParam(String key, Object val)
key - 参数名val - 参数值public boolean isGet()
public boolean isPost()
public String method()
public String getPath()
public String getDefaultTemp()
public LasyList page(LasyList list)
list - 原列表public LasyList page(LasyList list, int pagesize)
list - 原列表pagesize - 每页的记录数@Deprecated protected int paramWithDefaultInt(String pname, int def)
pname - def - public void render()
public void put(String name, Object obj, Object... others)
name - 参数名obj - 参数值others - 其他要插入的参数, put("name","yang","height",170,"weight",60)public void putModelItem(Model m)
m - 模型public boolean existFile(String path)
path - 文件路径public void render(String view)
view - jsp文件位置public String paramJSON()
public void setReq(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse resp)
req - 请求resp - 响应public void jsonToParam()
public Object sess(String key)
key - 关键字public Integer sessInt(String key)
key - session变量的名字public Double sessDouble(String key)
key - session变量的名字public String sessStr(String key)
key - session变量的名字public void removeSession(String key)
public Double appDouble(String key)
key - 变量名public void removeApp(String key)
public String cookie(String key, Object value, int period_ms)
key - 键value - 值period_ms - 超时时间(单位毫秒)public void removeCookie(String key)
key - 要删除的cookie的关键字public static void enableGzip()
public static void disableGzip()
public void output(String s)
s - 字符串public boolean outputBytes(byte[] ba)
ba - 字符数组public void outputJSON(Object obj)
obj - 要输出的对象名public void outputJSON(Object obj, boolean pretty)
public void putListTable(String name, LasyList list)
name - 最后的表格将会存入这个字段中list - 需要输出的列表public void renderForm(Model m)
public String param(String name, String def)
name - 参数名称def - 默认值public Integer paramInt(String p)
p - 参数名称public Integer paramInt(String p, int def)
p - 参数名称def - 如果没有这个参数,返回的默认值public Model paramToModel(Model m)
m - 模型public <T> T paramToObj(T obj,
String prefix)
T - 转换为对象的类型obj - 要赋值的对象prefix - 参数的前缀public void dumpParam()
public <T> T paramToObj(T obj)
T - 转换为对象的类型obj - 要赋值的对象public void checkNull(String name, Object obj) throws NullParamException
name - 参数名obj - 是否为空NullParamException - 缺少参数异常public void jump(String url)
url - 目标urlpublic void setSingle(boolean single)
single - 设置为true为单例,否则每次请求创建一个该控制器对象public boolean isSingle()
public String getLang()
public void require(String session_key, Object value, String jump_url, String err)
session_key - session的keyvalue - 要求的值jump_url - 如果不符合条件跳转到的地址err - 如果jump_url 为空,则不跳转,显示一个错误信息public void require(String session_key, String jump_url)
session_key - session中需要存在的key,用来实现判断是否登录等功能jump_url - 如果session中不存在这样的key,就会直接跳转到该网址public void download(String path)
path - 需要下载的文件的路径。public String reqBody()
public void renderFreeMarker(String path)
path - 基于web.xml中配置的tpl_base值的相对路径public LasyList L(String tableName)
tableName - 数据库表格名称public void runMethod(Method method)
method - 要运行的函数public void dump()
Copyright © 2023. All rights reserved.