首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

JSP c:forEach 循環中計算衍生字段:實體類加 @Transient 字段承載

     編輯:程式設計疑難解答

問題

遍歷實體列表,需顯示「借閱天數」等非數據庫字段,直接在 JSP 算報錯「標識符無效」。

解決

  1. 實體類添加非持久化字段:
    @Transient private int borrowDays; + getter/setter。
  2. Service/DAO 查詢後,**在 Java 代碼中計算並 set** 進該字段:
    entity.setBorrowDays(ChronoUnit.DAYS.between(entity.getBorrowDate(), LocalDate.now()));
  3. JSP 直接 ${entity.borrowDays} 輸出,無邏輯運算。

優勢

  • 視圖層純粹,無業務計算。
  • 可復用於導出 Excel、API 返回等多端。
  • 符合「DTO/ViewModel 承載顯示數據」的分層規範。

一個 @Transient 字段,徹底解決 JSP 循環中臨時計算字段的顯示難題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved