亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 jinjava 庫渲染列表

使用 jinjava 庫渲染列表

藍山帝景 2022-10-07 16:31:42
是否可以使用jinjava 庫呈現列表?到目前為止,我只能渲染 HashMaps。我正在使用以下函數將案例類轉換為哈希圖。  def toNestedJavaMap(caseClass: AnyRef): util.Map[String, Any] =    (new java.util.HashMap[String, Any]() /: caseClass.getClass.getDeclaredFields) { (accumulator, field) =>      field.setAccessible(true)      val value = field.get(caseClass) match {        case caseClassInstance: Product => toNestedJavaMap(caseClassInstance)        case x => x      }      accumulator.put(field.getName, value)      accumulator    }我應該將什么作為上下文傳遞以呈現類似的內容{% for item in items %}?
查看完整描述

1 回答

?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

不知道為什么我沒有嘗試傳遞 java Iterable 接口的實現......


這是修改后的工作版本,以考慮在具有類似 Stream 的 scala 類型時的轉換。


  def toNestedJavaMap(caseClass: AnyRef): util.Map[String, Any] =

    (new java.util.HashMap[String, Any]() /: caseClass.getClass.getDeclaredFields) { (accumulator, field) =>

      field.setAccessible(true)

      val value = field.get(caseClass) match {

        case listInstance: Stream[AnyRef] => listInstance.map(toNestedJavaMap).toList.asJava

        case caseClassInstance: Product => toNestedJavaMap(caseClassInstance)

        case x => x

      }

      accumulator.put(field.getName, value)

      accumulator

    }


查看完整回答
反對 回復 2022-10-07
  • 1 回答
  • 0 關注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號