freemarker 集成 sitemesh 装饰html页面 shiro 标签

guest标签:验证当前用户是否为“访客”,即未认证(包含未记住)的用户;

  shiro标签:<shiro:guest></shiro:guest>  ;

  freemark中: <@shiro.guest>  </@shiro.guest>

user标签:认证通过或已记住的用户

  shiro标签:<shiro:user> </shiro:user>  ;freemark中: <@shiro.user> </@shiro.user>

authenticated标签:已认证通过的用户。不包含已记住的用户,这是与user标签的区别所在。

   shiro标签:<shiro:authenticated> </shiro:authenticated>;

freemark中: <@shiro.authenticated></@shiro.authenticated>

notAuthenticated标签:未认证通过的用户。与authenticated标签相对。

shiro标签:<shiro:notAuthenticated> </shiro:notAuthenticated>;

freemark中: <@shiro.notAuthenticated></@shiro.notAuthenticated>

principal标签:输出当前用户信息,通常为登录帐号信息

shiro标签:Hello,  <@shiro.principal property="name" />  ;

freemarker中:  Hello,  <@shiro.principal property="name" />, how are you today?

hasRole标签:验证当前用户是否属于该角色 ,

shiro标签: <shiro:hasRole name="administrator">  Administer the system </shiro:hasRole> ;

freemarker中:<@shiro.hasRole name=”admin”>Hello admin!</@shiro.hasRole>

hasAnyRoles标签:验证当前用户是否属于这些角色中的任何一个,角色之间逗号分隔 ,

shiro标签: <shiro:hasAnyRoles name="admin,user,operator">  Administer the system </shiro:hasAnyRoles> ;

freemarker中:<@shiro.hasAnyRoles name="admin,user,operator">Hello admin!</@shiro.hasAnyRoles>

hasPermission标签:验证当前用户是否拥有该权限 ,

shiro标签: <shiro:hasPermission name="/order:*">  订单 </shiro:hasPermission> ;

freemarker中:<@shiro.hasPermission name="/order:*">订单/@shiro.hasPermission>

lacksRole标签:验证当前用户不属于该角色,与hasRole标签想反,

shiro标签: <shiro:hasRole name="admin">  Administer the system </shiro:hasRole> ;

freemarker中:<@shiro.hasRole name="admin">Hello admin!</@shiro.hasRole>

lacksPermission标签:验证当前用户不拥有某种权限,与hasPermission标签是相对的,

shiro标签: <shiro:lacksPermission name="/order:*"> trade </shiro:lacksPermission> ;

freemarker中:<@shiro.lacksPermission name="/order:*">trade</@shiro.lacksPermission>

注意:若freemarker使用了装饰器模板:如:sitemesh 对返回页面进行装饰,这些标签只能用在返回页面中,而不能用在装饰页面上。

时间: 2024-11-20 17:18:24

freemarker 集成 sitemesh 装饰html页面 shiro 标签的相关文章

通过引入SiteMesh的JSP标签库,解决Freemarker与SiteMesh整合时,自定义SiteMesh标签的问题

不少web项目,都用到了SiteMesh.SiteMesh可以和JSP.Freemarker等模版进行整合,有一定的好处,当然也有其不好的地方.我个人觉得,如果没有必要,不要在项目中引入太多的工具和技术,工具多了,项目开发的速度提高不起来. 以前,主要是用JSP作为视图层,最近主要是用Freemarker,然后配置Freemarker和SiteMesh整合. 项目中,最初的做法如下所示. <html>   <head>  ${head} </head> <body

使用 sitemesh/decorator装饰器装饰jsp页面(原理及详细配置)

摘要:首先这个Decorator解释一下这个单词:“装饰器”,我觉得其实可以这样理解,他就像我们用到的Frame,他把每个页面共有的东西提炼了出来,也可能我们也会用各种各样的include标签,将我们的常用页面给包括进来:比如说页面的top,bottom这些每个页面几乎都有,而且都一样,如果我们在每个页面都include,可以发现我们的程序有很多冗余,重复.相比之下装饰器给我们提供了一个较好的选择,他在你要显示的页面根本看不出任何include信息,可以说完全解耦. 一.SiteMesh介绍 S

Sitemesh排除Exclude不装饰特定页面的解决办法

有时候项目中有些文件不需要Sitemesh装饰,例如Error.htm, Error.jsp, OnlineHelp.htm等等.但是用Sitemesh的Exclude不管用,用Printable也不管用: 因为Sitemesh装饰的排除路径是虚拟路径而非实际路径.Sitemesh是根据URL来进行装饰Decoration的.最后的解决办法是:如果我们不想让Sitemesh对OnlineHelp.htm进行装饰,那就在这个文件的头加上这个: 然后在decorators.xml里面配置一下: 最后

spring boot 集成 sitemesh

一.Sitemesh简介 Sitemesh是由一个基于Web页面布局.装饰及与现存Web应用整合的框架,是一个装饰器.它能帮助我们在由大量页面工程的项目中创建一致的页面布局和外观,如一致的导航条.一致的banner.一致的版权等. SiteMesh是基于Servlet的filter的,它通过截取response,并进行装饰后再交付给客户端. 二.spring boot 集成 sitemesh 集成要做的工作很简单: 1.引入sitemesh.jar包 2.添加一个配置类及过滤器类 3.新增一个装

Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化

模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易.一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则.强大的功能.高效的渲染效率.详尽的帮助说明与不断的更新与维护.常见的前端模板引擎有: 常用的java后台模板引擎:jsp.FreeMarker.Velocity等. 请不要迷恋速度,为了推广的测试可能是片面的,好的模板引擎经得起时间考验,建议大家选择成熟的.常用的模板引擎.另外不管前后端的模板引擎

SiteMesh装饰器使用总结

SiteMesh是一个Java WEB项目的网页布局和修饰框架. 可以将网页的内容和页面结构分离,达到页面结构共享的目的. 页面装饰效果耦合在目标页面中,无需使用include指令显示包含装饰效果,目标页面和装饰页面完全分离. 整个web应用可以使用相同的装饰页面,风格统一,整体效果更好. SiteMesh通过Filter拦截请求和响应,给原始页面加入装饰,再把装饰后的结果返回给客户端. 根据页面URL查找合适的装饰模板页 提取被访问页的内容,放置到装饰模板中的适当位置. 用法 1.加入site

关于Springmvc中include与Sitemesh装饰器的基本使用

关于Springmvc中include与Sitemesh装饰器的使用 !!!转载请注明出处=>http://www.cnblogs.com/funnyzpc/p/7283443.html 静态包含:example:<%@include file="xxx.jsp"%> 文件的包含是发生在 jsp向servlet转换时期 ,相当于将jsp编译成html静态文件,由于对包含的文件不再编译(直接拷贝到父页面),则只产生一个class文件. 动态包含:example<j

扩展Sitemesh3 DecoratorSelector实现基于请求参数调用装饰模板页面的实现

扩展入口Filter实现: package lab.s2jh.core.web.sitemesh; import org.sitemesh.DecoratorSelector; import org.sitemesh.builder.SiteMeshFilterBuilder; import org.sitemesh.config.ConfigurableSiteMeshFilter; import org.sitemesh.webapp.WebAppContext; /**  * 扩展实现注入

javascript如何统计页面中标签的数量

javascript如何统计页面中标签的数量:本章节介绍一下如何统计页面中标签的数量,当然标签是可以重复的,虽然不常用,不过寄希望能够给大家带来或多或少的帮助.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" />