永发信息网

Freemarker变量赋值问题

答案:2  悬赏:20  手机版
解决时间 2021-02-16 04:23
Freemarker变量赋值问题
最佳答案
<#macro pager totalPage curPage=1 showPageNum=10>
<#if (showPageNum > totalPage)>
<#local showPageNum = totalPage-1>


${showPageNum}


解释:global、assign、local(macro参数)、list(由list创建的循环变量如:<#list a as x>)关系
global 全局变量,在所有命名空间可见
assign 当前命名空间可见
local(macro参数) 局部变量,当前宏内可见
循环变量(<#list a as x>) 当前循环可见
他们之间的关系 循环变量会隐藏局部变量(local创建的或macro参数)
局部变量(local创建的或macro参数)会隐藏assign(创建的变量)
assign(创建的变量)会隐藏global追问不好意思,前几天比较忙。在assign里面用一个新的变量时,在下面输出的是赋值后的值,但如果是用macro中传入的变量则输出的是未改变前的值。这应该和隐藏变量没有什么关系吧,因为assign变量是当前空间可见。
是否意味使用一次assign就是重新定义了一个新的变量,只是这个变量与传入变量名一致所以导致被隐藏?不知这样理解是否正确。追答可以这样理解
全部回答
不要用>,小于 大于 在freemarker里面都是用gt lt来表示的,正确的写法应该是
<#macro pager totalPage curPage=1 showPageNum=10>
<#if (showPageNum gt totalPage)>
<#assign showPageNum = totalPage-1>


${showPageNum}
追问感谢您的提醒,谢谢。楼下的回答相对要精确些,谢谢。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
湖滨区三门峡胜王瑜伽哪位知道具体地址啊
广东海洋大学研究生住宿可以选择吗?男生住宿
按哪一个键进入系统U盘。
绥化永安镇满族姓裴的 请问我的满族姓氏是什
轴承大全批发零售怎么去啊,有知道地址的么
【把一根长1米的圆柱形木材锯成3段,表面积增
掸子蜡的作用对汽车漆表面皿有害吗
像皮条发霉怎么清洗
紫金山路/紫金桥(路口)怎么去啊,有知道地址
我的眼睛调节功能差怎么办
灵魂摆渡仙女演员
计价货币与结算货币有什么区别?!
常州配电脑是银河湾电脑城还是莱蒙电脑城比较
【乌黑的头发】有一头乌黑的头发 用英语怎么
南通开发区公安局治安大队周德林
推荐资讯
汽车换发动机总成,要去交警队变更吗
【如何写新闻】如何写一篇初中新闻
a n 中,a是( ),n是( ),读作a的n
现在银的回收价格是多少钱一克
换新车后可以继续使用原车牌吗
银皮球鱼和黑皮球鱼能杂交吗,杂交以后听说是
做环氧标书多少一本
白菊花与白萝卜熬水喝有毒吗
clo-为什么有氧化性
康贝连锁药店顺康大药房在什么地方啊,我要过
福运来广告印务这个地址在什么地方,我要处理
如何看懂平面构造图的断层
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?