我正在将bean:传递Person到我的jsp页面,并且我想用小写字母打印他的名字。为此,我正在调用jstl的function toLowerCase,但这不起作用:
Person
toLowerCase
<c:out value="${fn:toLowerCase(${Person.name})}"
相反,我必须设置变量
<c:set var="personName" value="${Person.name}"/> <c:out value="${fn:toLowerCase(personName)}"
有没有一种语法上更友好的方式来做到这一点?
嵌套EL表达式是非法语法。您所遇到的异常也没有以某种方式暗示了这一点,但没有透露任何信息。您应该将EL表达式${... ...}视为一个全局全局范围,其中各种EL范围内的变量和函数可以相互交互。您的第二次尝试是正确执行。只需在初始尝试中应用相同的方法:
${... ...}
<c:out value="${fn:toLowerCase(Person.name)}"/>
顺便说一句,我宁愿尊重Java命名conventoins并将小写实例变量名称命名Person为person。您也不会Person Person = new Person();使用普通的Java代码,对吗?
person
Person Person = new Person();