Jul 10, 2017 10:38:44 AM

作者:

主模块

任何一个类都可以作为主模块,只要你将其配置在 web.xml 中,这样的设计主要是为了方便一些非 JSP/Servlet 标注的 web 服务器整合 Nutz.mvc 框架。

在主模块中,你可以声明如下的注解:

指定子模块

自动搜索子模块

  1. public class MainModule {
  2. ...

将自动搜索主模块所在的包(包括子包)下所有的类,如果有类包括了一个以上的将被认为是模块类

半自动搜索子模块

将自动搜索主模块类,Abc.class,Xyz.class 所在的包(包括子包)下所有的类,如果有类包括了一个以上的入口函数将被认为是模块类

@IocBy - 设置应用所采用的 Ioc 容器

@SetupBy - 应用启动以及关闭时的额外处理

在整个应用启动或者关闭时,你想做一些额外的处理工作,你可以实现一个org.nutz.mvc.Setup 接口,并将其配置在上

  1. public class MainModule {

如果你需要使用ioc, 除了从init的NutConfig对象的getIoc方法获取之后,还可以这样写

Nutz.Mvc 允许你定制自己的视图,如何使用这个注解,请参看 一节

- 应用的本地化字符串设定

Nutz.Mvc 允许你定制自己的本地化字符串存取方式,同时它也提供了默认的本地化字符串存取方式,请参看 本地化字符串 一节

子模块

任何类都可以作为子模块,只要通过@Modules_-_声明应用的所有子模块"">@Modules 注解声明到上即可

在子模块,你可以声明

入口函数

子模块中任何函数,只要是 public 的,且不是 static 的,都可以作为入口函数标记入口函数的方法是在其上标注注解 @At_-_入口函数对应的_URL"">@At

在入口函数上,你可以声明如下注解:

  • -_入口函数对应的_URL"">@At - 入口函数对应的 URL
  • @Ok_-_成功视图"">@Ok - 成功视图
  • -_失败视图"">@Fail - 失败视图
  • @AdaptBy_-_HTTP_参数适配方式"">@AdaptBy - HTTP 参数适配方式
  • -_过滤器"">@Filter - 过滤器
  • @Encoding_-_输入输出编码"">@Encoding - 输入输出编码

@At - 入口函数对应的 URL

只有标记了这个注解的函数才被认为是,例如

  1. public void someFunc(){
  2. ...

声明了入口函数的成功视图,即如果入口函数正常执行,将会通过这个视图将函数返回值渲染到 HTTP 响应中。当然,如果你的函数直接返回的就是一个视图对象,那么就不会使用成功视图(而是你返回的视图对象)来渲染HTTP 响应详细的介绍,请参看 一节

- 失败视图

声明了入口函数的失败视图,即如果入口函数抛出异常,将会通过这个视图将异常渲染到 HTTP 响应中详细的介绍,请参看 视图 一节

@AdaptBy - HTTP 参数适配方式

将 HTTP 请求参数转变成你当前入口函数的参数的过程叫做 适配,这个注解就是声明这个适配器。如果你没有声明这个注解,默认的会采用 PairAdaptor 来适配 HTTP 请求参数。详细的介绍,请参看 一节

详细介绍请参看 过滤器 一节

@Encoding - 输入输出编码

定义 HTTP 请求的输入输出编码,这个注解通常是会定义在 上面,从而保证整个应用有统一的输入输出设定

如果你不定义,默认的,Nutz.Mvc 会采用 UTF-8 作为输入输出的编码

注意! 通过URL发送的参数,是不受影响的!! 例如在URL中发送中文,那么@Encoding不会有作用,你需要用POST传参数,或者修改tomcat的server.xml,修改其中的URIEncoding属性.

本页面的文字允许在和GNU自由文档许可证下修改和再使用。