summercool+ mybatis框架解决方案(4)

2019-03-22 23:11

\,则可以配置在此map中。使用的时候只要在freemarker的任何页面中使用${AppName}即可显示。同理,如果想在 freemarker中加入全局的内置函数,当然也是通过此方法实现。

6) freemarkerResolver:Spring MVC中真正使用的freemarker页面处理类,

具体的实现和使用其实全部都是通过此类完成,具体该类的细节笔者在此不做细的讲解。

healthcloud-module.xml配置文件说明

xmlns:context=\xmlns:util=\

xsi:schemaLocation=\

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd

http://www.springframework.org/schema/util

http://www.springframework.org/schema/util/spring-util-3.0.xsd\>

.htm

说明:

1) 该配置是整个summercool框架最核心的配置了。

2) org.summercool.web.module.WebModuleConfigurer:summercool框架会自

动加载此类并且分析该类加载的一些配置信息。

在此应用中,有如下几个信息是非常重要的:

a) moduleName:设置当前应用模块的名称(没有关键作用,其实框架也用

不到,只是标识一下而已)

b) moduleBasePackage:该模块包的根路径,主要是扫描Spring MVC的

Controller和Widget类。

c) uriExtension: summercool框架扫描到该模块的Controller之后,生

成的UrlMapping时的映射地址使用的扩展名是什么。比如 说:/IndexController.java --> /index.htm 或

/user/ModifyUserController.java --> /user/modify_user.htm 这样的url对应关系。【驼峰命名法的类,对应使用下划线的URL方式】 d) context:对应该模块的上下文。比如:context = \

或 context = \e) contextPackage:扫描该模块对应的模块目录。

moduleBasePackage + contextPackage = 完整的该应用模块的招扫描路径

扫描该完整包路径下面的:controllers和widgets文件夹 controllers文件夹的扫描规则是:

/controllers/IndexController.java --> /context/index.htm 如果是按照上面的这个配置,则真实的规则是:

/controllers/IndexController.java --> /index.htm (因为context = \)

f) 模块配置类可以允许配置多个,也就是说可以配置多个应和模块,只要

context不冲突即可。

3) org.summercool.web.module.WebModuleUriExtensionConfigurer:

summercool应 用只允许有一个该配置类。该配置类主要是配置哪些过来的后缀名的url请求会允许交给summercool应用处理。

healthcloud的Controller和Widget开发

Controller开发

1) Controller的扫描规则是: /IndexController.java --> /index.htm 2) 扫描的附件条件是,被扫描加载的Controller类,必须是实现Spring MVC

的标准Controller接口和类名必须是以Controller结尾。

Widget函数讲解

1) 首先,我们还是先看一下/login.ftl页面模版文件,如下:

HealthCloud

padding-top: 60px; padding-bottom: 40px; }

#tbtd ,#tbth{ border-top: 0px; }

${widget(\


${widget(\

2) 上面有两个${widget()}的freemarker函数请各位注意一下: 1. ${widget(\healthcloud/widgets/header\ 2. ${widget(\healthcloud/widgets/footer\

规则:${widget(\healthcloud/widgets/header\先加载--> /healthcloud/widgets/HeaderWidget.java --再加载-->

/healthcloud/widgets/header.ftl (HeaderWidget.java可选,即如果没有Widget类,则直接加载header.ftl页面)

而我们想在显示\局部页面的时候,我们可以将一部分显示的业务逻辑和\局部页面需要显示的页面数据通过此类 加载;那么我们查看下\类,如下:

publicclassHeaderWidgetimplementsFreeMarkerWidget {

publicvoidreferenceData(HttpServletRequestrequest, Mapmodel) {

model.put(\, CookieUtils.getUserName(request)); } }

说明:上面的代码中可以看出,\页面中会显示登录人的用户名信息,那么用户名的信息则就是通过referenceData()函数加载的,model是\的页面变量信息map,如下:


summercool+ mybatis框架解决方案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:班级小组合作学习实施方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: