如何在jstl自定义标签中使用el表达式

今天Coding的时候,我使用到了自定义jstl表达式,其调用格式形如

<pms:getDicName dict="jg" code="${personEntity.jg}"/>

当然,在tld文件中,我也将code的rtexprvalue设置为了true,但是程序调试中,我在程序中获取到的死活都是“${personEntity.jg}”,而不是这段字符串的值,经查阅资料,发现想要在jstl表达式中使用el表达式需要额外做两个处理。

1)将接收el表达式的变量设置为Object类型。

2)改写接收el表达式的变量的set方法为:

public void setCode(Object code) throws JspException {
this.code = ExpressionEvaluatorManager.evaluate("code",code.toString(),Object.class,this,pageContext);
}

这样再测试,程序即可顺利的在jstl表达式中获取到el表达式的值。


发表评论

(必填)

(必填)

(以便回访)