关于Enjoy扩展指令请求

image.png

如上图#hasRole是我自己写的一个扩展指令,#(session.user.userid)能够正常输出用户ID

hasRole指令代码如下:

image.png

session.user.userid传入后台变成一个Field对象,请问如何能够拿到Field对象的userid值?

评论区

也许这就是萌新吧

2019-08-14 17:44

已解决。

JFinal

2019-08-14 20:56

@也许这就是萌新吧 其实不用这么麻烦,直接在 exec 中表达式求值对比即可:
Object userId = exprList.getExpr(0).eval(scope);
Object role = exprList.getExpr(1).eval(scope);
if (userId.equals(role)) {
stat.exec(env, scope, writer);
}

JFinal

2019-08-14 20:57

顶多再加上在 setExprList(...) 方法中控制一下参数个数,可以参考一下 com.jfinal.template.ext.directive 中一些指令的用法