方法和函数有什么区别呢?
方法是来自于数据模型(它们反射了Java对象的方法),而函数是定义在模板内的但二者可以用同一种方式来使用
自定义指令而不要用函数/方法。指令的特征如下:
输出(返回值)的是标记(HTML,XML等)。主要原因是函数的返回结果可以自动进行XML转义(这是因为${…}的特性),而用户自定义指令的输出则不是(这是因为<@...>的特性所致,它的输出假定为是标记,因此就不再转义)。
副作用也是很重要的一点,它没有返回值。例如一个指令的目的是往服务器日志中添加一个条目。(事实上你不能得到自定义指令的返回值,但有些反馈的类型是有可能设置非本地变量的)
会进行流程的控制(就像list或if指令那样),但是不能在函数/方法上这么做。