文档章节

velocity mybatis spring 在maven的整合开发(三)

绿妖精
 绿妖精
发布于 2014/07/04 10:54
字数 717
阅读 166
收藏 1
Spring自带的MVC框架, 相当于struts,单springMVC兼容性好,且性能更高。 通过modelAndView 控制view。这里介绍SpringMVC整合Velocity作为前台架构

SpringMVC配置文件

spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
	http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
	http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-4.1.xsd">

	<description>Spring MVC Configuration</description>

	<!-- 对静态资源文件的访问,交给default servlet handler处理 -->
	<mvc:default-servlet-handler />

	<!-- 启用spring mvc 注解 -->
	<context:annotation-config />

	<!-- 默认的注解映射的支持 -->
	<mvc:annotation-driven />

	<!-- 设置使用注解的类所在的jar包 -->
	<context:component-scan base-package="ct.bean,ct.controllers" />

	<!-- Velocity视图文件解析配置 -->
	<bean id="velocityConfig"
		class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
		<property name="configLocation" value="/WEB-INF/velocity/velocity.properties"/>
	</bean>
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
		<property name="prefix" value="/template/" />
		<property name="suffix" value=".vm" />
		<property name="contentType" value="text/html;charset=utf-8"/>
		<property name="requestContextAttribute" value="true"/>
	</bean>
        
	<!-- 国际化配置文件 -->
	<bean id="messageSource"
		class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
		<property name="basename" value="classpath:i18n/messages" />
		<property name="defaultEncoding" value="UTF-8" />
	</bean>

	<bean id="localeResolver"
		class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
		<property name="defaultLocale" value="zh" />
	</bean>

	<bean id="localeChangeInterceptor"
		class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
		<property name="paramName" value="lang" />
	</bean>


	<bean id="handlerMapping"
		class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
		<property name="interceptors">
			<ref bean="localeChangeInterceptor" />
		</property>
	</bean>

	<!-- 上传文件拦截,设置最大上传文件大小 10M=10*1024*1024(B)=10485760 bytes -->
	<bean id="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<!-- one of the properties available; the maximum file size in bytes -->
		<property name="maxUploadSize">
			<value>5242880</value>
		</property>
	</bean>
</beans>

Velocity配置文件

velocity.properties

velocimacro.permissions.allow.inline=true
velocimacro.permissions.allow.inline.to.replace.global=true
velocimacro.permissions.allow.inline.local.scope=true
input.encoding=UTF-8
output.encoding=UTF-8
contentType=text/html;charset=utf-8
resource.loader=webapp, class
class.resource.loader.description=Velocity Classpath Resource Loader
class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
webapp.resource.loader.class=org.apache.velocity.tools.view.WebappResourceLoader
webapp.resource.loader.path=/WEB-INF/velocity/
webapp.resource.loader.cache=false

配置文件解释

1、Velocity模板位置:

velocityConfig 里配置 Velocity全局配置文件。包括字符编码,Velocity模板位置等属性。

velocity.properties中,我们定义了webapp.resource.loader.path=/WEB-INF/velocity/  意思是把Velocity模板都放在WEB-INF的Velocity目录下。

spring-mvc.xml中,我们在ViewResolver定义了<property name="prefix" value="/template/" />  意思是SpringMVC模板的目录为 template。同时指定<property name="suffix" value=".vm" /> 意思是以.vm为结尾的文件。

最终Velocity模板位置是/WEB-INF/velocity/template/在 该目录下以.vm为扩展名的文件,都会被SpringMVC拦截,作为Velocity的视图模板。

2、上传文件的拦截器。

见multipartResolver

界面展示

/WEB-INF/velocity/template/index.vm 文件里随便写一些东西。

注:Velocity文件扩展名是.vm的但实际上就是一个html文件。

html界面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>信息管理系统界面</title>
</head>

<body>
		Hello
</body>
</html>



Controller.java文件

@Controller
public class WelcomeController{
    @RequestMapping("index")
    public String welcome() {
    	System.out.println("in index................");
        return "index";
    }
}



在tomcat上部署查看是否界面被正常显示

ps spring4.1 和tomcat8有些不兼容的地方。如果报错无法处理,就降级用tomcat7或6.tomcat尽量不要用当前最高版本的。

© 著作权归作者所有

共有 人打赏支持
绿妖精
粉丝 5
博文 37
码字总数 11428
作品 1
天津
QA/测试工程师
私信 提问
mybatis springmvc velocity环境搭建

前言 轻量级ORM框架MyBatis完美的配合SpringMVC web框架实现了后台action的开发,结合Java模版引擎velocity实现了Java代码与前端代码的隔离。 搭建过程 后台配置mybatis 添加依赖 Spring 3.2...

buglife
2015/01/02
0
8
开源微信管家平台——JeeWx 捷微4.0 微服务版本发布,全新架构,全新UI,提供强大的图文编辑器

JeeWx捷微4.0 微服务版本发布^_^ 换代产品(全新架构,全新UI,提供强大的图文编辑器) JEEWX 从4.0版本开始,技术架构全新换代,采用微服务架构,插件式开发,每个业务模块都是独立的JAR包,...

Jeecg
2018/08/15
0
0
Spring MVC整合Velocity

Velocity模板(VM)语言介绍 Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于...

张辉原
2017/06/15
0
0
Mybatis-Generator插件的使用与Spring集成Mybatis的配置

Mybatis-Generator插件 Mybatis-Generator是一个用于自动生成dao层接口、pojo以及mapper xml的一个Mybatis插件,该插件有三种用法:命令行运行、Eclipse插件、maven插件。个人觉得maven插件最...

ZeroOne01
2018/04/15
0
0
spring springmvc mybatis maven 项目整合示例-导航页面

spring原理 实践解析-简单的helloworld spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包 spring原理案例-基本项目搭建 02 spring jar包详解 spring jar包的用途...

noteless
2018/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

移植Modbus到STM32F103(2):移植FreeModbus到usart3并运行示例代码

FreeModbus是Modbus的一个被广泛移植的实现。其源码在github,最新版是1.6。 FreeModbus支持Modbus功能码里的0x01~0x06,0x0F~0x11和0x17,对一些功能比如异常诊断和读事件计数等功能码并没有...

Konstantine
今天
3
0
浅谈神经网络(神经网络篇)

背景 之前写过浅谈神经网络基础篇,简单介绍下机器学习这块内容,用于扫盲。本文正式将神经网络,这部分是深度学习的基础。了解完可以掌握强大的机器学习的方法,也可以更好的了解深度学习。...

Uknowzheng
今天
3
0
移动硬盘变为RAW格式后的修复

在Mac上使用自己的移动硬盘结果文件系统格式变为RAW; 在自己windows笔记本上使用chkdsk H: /F进行修复,修复日志如下: C:\Users\mengzhang6>chkdsk H: /F文件系统的类型是 NTFS。卷标是 do...

晨猫
今天
3
0
10 Git —— 标签管理

10 Git —— 标签管理 本节内容: 命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;命令git......

lwenhao
今天
3
0
小程序设置垂直居中,水平居中

如果子容器中的view需要居中的话,那需要在父容器中设置居中 水平居中: display: flex; flex-direction: column; align-items: center; 垂直居中 display: flex;align-items: cen...

淘幻幻
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部