我開始修復一個程序,我對它幾乎不熟悉。我在其中一個JSP上更改了一段代碼。我需要用它來無論是以下兩種格式(取決於是否存在中間名屬性)打印名字:Struts <logic:notEmpty>不工作或bean屬性沒有正確寫入JSP?
LastName, FirstName M.
LastName, FirstName
我相信我的代碼應該打印中間初始和期間,當且僅當屬性存在,但列表中的每個名稱,它打印:
LastName, FirstName .
它打印或者沒有中間字母或中間最初是一個空字符串,隨後期。
相關的代碼如下:
<html:link styleClass="recordLink" action="/secure/admin/users?actionMethod=details" paramId="userId" paramName="users" paramProperty="userId">
<bean:write name="users" property="lastName"/>,
<bean:write name="users" property="firstName"/>
<logic:notEmpty name="users" property="middleName">
<bean:write name="users" property="middleName"/>.
</logic:notEmpty>
</html:link>
爲什麼<logic:notEmpty>
標籤不工作?如果屬性不存在,middleName
屬性是否可以確定爲非空?我的語法有什麼問題嗎?
我也嘗試使用JSTL標記,但我無法得到它在OC4J工作(錯誤:「http://java.sun.com/jsp/jstl/core」是不是註冊TLD命名空間)
語法看起來很好。如果刪除notEmpty條件會發生什麼?它打印任何middleName? –
它打印相同的東西。這就像中間名是空的或空的,但struts並不認爲它是。 –
我甚至在''標籤周圍拋出了一個'標籤,以確保'middleName'屬性存在,並且它仍然打印出相同的事情。如果'middleName'實際上是一個'char'而不是'String',那麼這可能會導致問題? –