主模块的注解
注解 | 说明 |
---|---|
@Modules | 声明应用的所有子模块,用法一:@Modules(scanpackage=true),自动搜索子模块,范围是主模块所在包以及子包下的所有类;用法二: @Modules({UserModules.class,ComputerModules.class}),指定子模块 |
@IocBy | 整个应用,应采用何种方式进行反转注入。如果没有声明,整个应用将不支持 Ioc |
@Localization | 整个应用的本地地化字符串的目录 |
@SetupBy | 应用启动和关闭时,应该进行的处理。在应用启动或者关闭时,如果想做额外的 工作,可以实现org.nutz.mvc.steup接口。 |
@Views | 扩展整个应用支持的视图模板类型 |
@Ok | 整个应用默认的成功视图 |
@Fail | 整个应用默认的失败视图 |
@AdaptBy | 整个应用默认的 HTTP 参数适配方式 |
@Filters | 整个应用默认的过滤器数组 |
@Encoding | 整个应用默认的输入输出字符编码 |
~灰色的注解表示还可以应用在子模块以及入口函数上
声明在主模块的注解,将作为所有入口函数的默认配置
子模块的注解
注解 | 说明 |
---|---|
@InjectName | Ioc 容器中,本模块对应的名称,如果不指明,表示这个模块是通过默认构造函数创建的 |
@At | 模块所有入口函数的 URL 前缀 |
@Ok | 模块默认成功视图 |
@Fail | 模块默认失败视图 |
@AdaptBy | 模块默认 HTTP 参数适配方式 |
@Filters | 模块默认的过滤器数组 |
@Encoding | 模块默认 HTTP 请求的输入输出字符编码 |
~ 灰色的注解表示还可以应用在子模块以及入口函数上
入口函数的注解
注解 | 说明 |
---|---|
@GET | 限定函数接受 HTTP GET 请求 |
@POST | 限定函数接受 HTTP POST 请求 |
@PUT | 限定函数接受 HTTP PUT 请求 |
@DELETE | 限定函数接受 HTTP DELETE 请求 |
@At | 函数对应的 URL |
@Ok | 成功视图 |
@Fail | 失败视图 |
@AdaptBy | HTTP 参数适配方式 |
@Filters | 函数的过滤器数组 |
@Encoding | HTTP 请求的输入输出字符编码 |
~灰色的注解表示还可以应用在子模块以及入口函数上
常用模块注解说明
@At
入口函数对应的URL,只有标记了此注解才被认为是入口函数,使用不带参数的@At注解默认会使用方法名/类名的小写作为入口地址。
@Encoding
定义HTTP请求的输入输出编码,通常定义在主模块上,如果没定义默认UTF-8。注意,通过URL发送的参数是不受影响的,例如在URL中发送中文,那么@Encoding不会有作用,你需要用Post传参数,或者修改tomcat的server.xml中的URLEncoding属性
@AdaptBy
HTTP参数适配方式,将HTTP请求参数转变为当前入口函数的参数的过程称之为适配,@AdaptBy这个注解就是声明这个适配器,如果没有声明这个注解,默认会采用org.nutz.mvc.adapot.parAdaptor来适配HTTP请求,默认@AdaptBy(type=parAdaptor.class),适配器交个Ioc容器管理@AdaptBy(type=parAdaptor.class,args={"ioc:parAdaptor"})
还可采用@param注解
public String someFun(@param("pid") int id,
@param("pname") String name){}
有时,入口函数需要接受一个对象,(例如表单对象)
public String someFun(@param("..") Pet pet){}