2013-10-10 65 views
1

我正在向我的jsp頁面傳遞一個bean:Person,我想將他的名字打印在lower案件。要做到這一點,我打電話JSTL的功能toLowerCase,但這不起作用:

<c:out value="${fn:toLowerCase(${Person.name})}" 

相反,我必須設置變量

<c:set var="personName" value="${Person.name}"/> 
<c:out value="${fn:toLowerCase(personName)}" 

是否有這樣做的語法更友好的方式這個?

回答

3

嵌套EL表達式是非法語法。這也應該以某種方式暗示你面臨的例外情況,但沒有透露任何情況。您應該將EL表達式${... ...}看作一個大的全局範圍,其中各種EL範圍變量和函數可以相互交互。你的第二次嘗試是正確的。剛申請的初步嘗試相同的:

<c:out value="${fn:toLowerCase(Person.name)}"/> 

順便說一句,我寧願尊重Java naming conventoins和小寫的實例變量名Personperson。你也不會在普通的Java代碼中使用Person Person = new Person();,對吧?

+0

很好的答案,謝謝! – Popcorn