NutzCN Logo
问答 前端shiro标签问题
发布于 2526天前 作者 bb3239 2250 次浏览 复制 上一个帖子 下一个帖子
标签: nutzwk

```

@shiro到底应该理解为在Beetl中自定义的shiro标签,还是说从Ioc容器获取name="shiro"的对象?

7 回复
<div class="app <% if(@shiro.getPrincipalProperty('loginSidebar')){ %> small-menu <% } %> <% if(@shiro.getPrincipalProperty('loginScroll')){ %> fixed-scroll <% } %> <% if(@shiro.getPrincipalProperty('loginBoxed')){ %> boxed <% } %>">

看上去@shiro是一个整体,事实上不是.

'shiro'是nutzwk往beetl全局上下文注册的一个变量, 而'@'是beetl语法,代表执行一个对象的方法.

ac.getRequest().setAttribute("shiro", Mvcs.ctx().getDefaultIoc().get(ShiroUtil.class));

是在cn.wizzer.app.web.commons.processor.GlobalsSettingProcessor中按上述语句注册的吗?

原来nutzwk没注册成全局...

恩,上面的语句就是了.

那Beetl如何和Ioc容器关联的呢?直接在@后加shiro就能取到Ioc中的shiro对象?

@只是执行对象的方法,与ioc无关.

但你可以像shiro变量那样, 注册你需要的对象到上下文.

恩恩,了解

添加回复
请先登陆
回到顶部