Enjoy做无线级菜单时,怎么去掉项目加载时检验模板引擎检查。

在做无限级菜单时,想用Enjoy的进行递归循环到最低一级菜单,从而达到菜单遍历的显示的功能。但是项目一启动时就报错模板加载错误,就是循环引用()问题。

<li class="#(open)">
	<a href="#" class="menu-dropdown">
   		<i class="#(menu.menuIcon)"></i>
   		<span class="menu-text"> #(menu.menuName)</span>
   		<i class="menu-expand"></i>
   	</a>
	<ul class="submenu" style="#(style)">
		#for(subMenu:menu.subMenus)
			#if(subMenu.menuHasSub==StaticMenu.HASSUB.yes)
				#include("menu_sub.html",menu=subMenu.subMenus)
			#else
				#if(mitem==subMenu.menuKey)
					#set(active='active')
				#else
					#set(active='')
				#end
				<li class="#(active)">
		            <a href="#(context)#(subMenu.menuUrl)">
		                <i class="#(subMenu.menuIcon)"></i>
		                <span class="menu-text">#(subMenu.menuName)</span>
		            </a>
	       		</li>
			#end
		#end
	</ul>
</li>

异常信息:

微信截图_20190310213901.png

评论区

JFinal

2019-03-10 22:38

将这部分内容使用 #define 封装成一个函数,例如:
#define menu()
#setGlobal( depth = depth + 1)
#if (depth > 10)
#return
#end

原来的内容
#end

使用时调用该函数即可
#@menu()

这里的关键就是要对这种出现死循环的递归有一个退出条件

热门反馈

扫码入社