/** * 设置 自定义方法 * * 主要用于 Spring MVC 的 xml 配置方式 * * Spring Boot 的代码配置方式可使用 setSharedObject(...) 进行配置 */ public void setSharedObject(Map<String, Object> para) { for(String key:para.keySet()){ engine.addSharedObject(key, para.get(key)); } }
springmvc需要映射必然需要setSharedObject方法 enjoy3.2并没有set方法 所以只能重新往类里面添加方法。
例如我要添加shiro的标签
<bean id="viewResolver" class="com.maitianer.jfinal.templete.JFinalViewResolver"> <property name="devMode" value="true"></property> <property name="sharedFunction" value="/WEB-INF/views/maitianer/admin/common/_paginate.html"></property> <property name="sessionInView" value="true"></property> <property name="order" value="1"></property> <property name="prefix" value="/WEB-INF/views/"></property> <property name="suffix" value=".html"></property> <property name="contentType" value="text/html;charset=utf-8"></property> <property name="sharedObject" > <map> <entry key="shiro" value-ref="shiroTag" /> </map> </property> </bean> <bean id="shiroTag" class="com.maitianer.commons.shiro.ShrioTag"/>
shiroTag参考http://www.jfinal.com/share/224
最后修改方法需要把两个类都考出来放到同一个包下 不然模板view路径会找不到项目名
下面标签内的方法就可以使用了
#if(shiro.hasPermission("/home/resource/add")) <a data-for="/home/resource/add" id="add" class="btn btn-small"> <i class="icon"></i>新增 </a> #end