Spring集成Day4
一.模板技术
数据+模板 = 文本
认识模板技术
常用的模板技术
freemarker 默认后缀 .ftl
velocity 默认后缀 .vm
模板技术的作用
动态页面静态化(网站)
代码生成器
邮件或者短信等的模板
velocity的简单学习
引入velocity
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.6</version>
</dependency>
准备模板 - hello.vm
具体的语法大家可以去查看文档
## 我是一个没有感情的注释
${username},你好啊!!!
##对象数据获取
##$!:有数据就显示,没有数据就不显示(其它的没有数据会直接显示)
${employee.username} ====== ${employee.age}
$employee.username ====== $employee.age
$!employee.username ====== $!employee.age
##设置变量
#set($person = "汤木")
$person
## 集合
#set($names=["汤母", "吉瑞", "肉丝"])
<p>$names.get(1)</p>
<ul>
#foreach($l in $names)
<li>$l</li>
#end
</ul>
velocity的Java代码
//测试默认就是项目根目录
//数据 + 模板 = 输入文本
@Test
public void testHelloFile()throws Exception{
//创建一个Velocity引擎
VelocityEngine ve = new VelocityEngine();
//获到到相应的模板
Template template = ve.getTemplate("template/hello.vm","UTF-8");
//创建模板上下文(装数据的东西)
VelocityContext velocityContext = new VelocityContext();
velocityContext.put("username","二狗");
//准备对象,放到上下文中
Employee employee = new Employee();
employee.setUsername("三狗");
// employee.setAge(45);
velocityContext.put("employee",employee);
//准备输出的位置
FileWriter fileWriter = new FileWriter("template/hello.html");
//数据 + 模板 = 输入文本
template.merge(velocityContext, fileWriter);
fileWriter.close();
}
二.代码生成器:
生成模板的过程一定要注意细节,容易写错 一边写一边测试,预览.
easycode:就是一个idea的插件
使用的前提是会velocity
官方文档 : https://gitee.com/makejava/EasyCode/wikis/pages?sort_id=725069&doc_id=166248
生成的文件位置,生成文件内容
三.权限:
两种权限:登录认证,权限认证
登录认证
步骤
如果没有登录这个人是游客
游客会拿到令牌(用户名和密码)进行登录
先验证用户名(如果错误报账号错误)
验证密码(如果错误会报验证错误)
还有一种是其它错误【异常,一般是你的代码有问题】
登录成功就会把当前用户放到session中
注意点
以前是HttpSession,只能用于Web项目 -> shiro框架
密码验证安全性很重要 -> MD5
权限认证
用户(n)-角色(n)-权限【资源】(n) image
转载于:https://my.oschina.net/u/4108556/blog/3071801
Spring集成Day4相关推荐
- Spring集成Redis方案(spring-data-redis)(基于Jedis的单机模式)(待实践)
说明:请注意Spring Data Redis的版本以及Spring的版本!最新版本的Spring Data Redis已经去除Jedis的依赖包,需要自行引入,这个是个坑点.并且会与一些低版本的Sp ...
- windows api中文文档_Web服务开发:Spring集成Swagger,3步自动生成API文档
目录: 1,Spring Boot集成Swagger 2,Swagger接口文档页面 3,常见问题和解决方法 在Sping开发REST接口服务时,API文档是不可缺少的一个重要部分.Swagger框架 ...
- Spring集成spymemcached
Spring集成spymemcached Memcached的安装部署我就不介绍了! 首先下载spymemcached,下载地址: jar:https://spymemcached.googlecod ...
- Liferay7 BPM门户开发之5: Activiti和Spring集成
参考文档: https://github.com/jbarrez/spring-boot-with-activiti-example https://github.com/sxyx2008/sprin ...
- 从零开始学 Java - Spring 集成 Memcached 缓存配置(二)
Memcached 客户端选择 上一篇文章 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)中我们讲到这篇要谈客户端的选择,在 Java 中一般常用的有三个: Memc ...
- spring集成xmemcached
2019独角兽企业重金招聘Python工程师标准>>> spring集成xmemcached <dependency><groupId>com.googlec ...
- Spring集成线程池
自己在程序中手动New很容易造成线程滥用,创建线程也是比较消耗资源的操作,所以建议如果有此需求,将线程池统一交给Spring框架进行管理. 如下: <!--Spring 集成线程池,不允许自己开 ...
- MyBitis(iBitis)系列随笔之六:mybitis与spring集成
目前Spring官方还没有出整合Mybatis的特性,但是mybitis比较给力,开发了一个mybatis-spring插件,达到与Spring的完美整合目的. 在与Spring集成前,一方面我们需要 ...
- JBPM4.4_jBPM4.4应用(与Spring集成自行控制事务等)
1. jBPM4.4应用 1.1. 与Spring集成(jBPM4.4 Developers Guide, Chapter 17. Spring Integration) 1.1.1. 在jbpm.c ...
最新文章
- js 原生跨页面通信_DOM操作是跨线程的你知道吗?
- HDU 2149-Public Sale(巴什博奕)
- Kubernetes-Service服务(十一)
- Kafka消费者组内各消费者分区分配
- Java poi设置打开模式_java操作Excel的poi 格式设置
- 在Eclipse上安装pydev开发工具
- python程序中结束while循环的两种方法是_Python中while循环
- 10.11 cocoapods安装
- 【亲测有效】硬盘/分区修复教程
- 使用python爬取链家上海二手房信息的案例
- Android 使用Vector XML文件创建矢量图片资源
- DOTA2怎么清除缓存_第36期 只要一招:彻底重置Windows图标缓存
- 三角形周长最短问题_「初中数学」从三角形周长的最值问题说说解题策略
- bzoj3168 钙铁锌硒维生素 (矩阵求逆+二分图最小字典序匹配)
- Java从入门到精通章节练习题——第六章
- 问题记录:系统还原后,QQ显示一直登录中,但却登录不上去,而且很多软件无法使用
- r语言lm函数找不到对象_怎么才能查看R语言某个包某函数源码?
- 家庭监控系统实现(一) -- 硬件准备及picamera使用
- 红黑树特点以及如何构建红黑树
- 全国计算机二级报名代码,关于计算机二级考试报名入口