JFinal

登录 注册

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

评论

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

    原来的内容
    #end

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

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