我将empId设为600,并在会话对象下将其设为400。我想在它上面应用jstl函数。基本上 我想在" 600-400"
上应用我的项目特定Taglib功能我试过以下
"${myProject:Taglib(${sessionScope.empId}-${sessionScope.custId})}"
但低于错误
javax.el.ELException: Failed to parse the expression [${myProject:TaglibFunction(${sessionScope.empId]
我知道我可以分两行进行,即
<c:set var="intermediateVar" value="${sessionScope.empId}-${sessionScope.custId}" scope="page" />
var finalValue= "${myProject:TaglibFunction(intermediateVar)}";
但有没有办法可以用单线做到这一点?
答案 0 :(得分:0)
如果您已经在表达式中,则不应再次使用$ {}。尝试:
编辑:变量empId和custId是什么类型的? TagLibFunction的参数是什么类型的?从您的问题看,该方法看起来正在寻找empId(破折号)custId的字符串连接。没有关于后端函数/变量的更多细节我只在这里猜测
而不是:
"${myProject:TaglibFunction(sessionScope.empId + '-' + sessionScope.custId)}"
尝试:
"${myProject:TaglibFunction(sessionScope.empId-sessionScope.custId)}"
无论哪种方式,您的问题都源于嵌套表达式。的 $ {$ {}} 强>