小编cpa*_*ali的帖子

无法在Scala中创建嵌套对象

我有父子参考的对象列表

case class EmployeeLevel(id: Long, name: String, parentId: Long,
                         item: List[EmployeeLevel])

val employeeList = List(
  EmployeeLevel(1L, "Manoj", 0L, Nil),
  EmployeeLevel(2L, "Sv", 1L, Nil),
  EmployeeLevel(3L, "Cp", 2L, Nil),
  EmployeeLevel(4L, "Manju", 3L, Nil))
Run Code Online (Sandbox Code Playgroud)

如何创建树结构或将它们排列在分层顺序中

val employeeList = List(
  EmployeeLevel(1L, "Manoj", 0L, List(
    EmployeeLevel(2L, "Sv", 1L, List(
      EmployeeLevel(3L, "Cp", 2L, List(
        EmployeeLevel(4L, "Manju", 3L, Nil))))))))
Run Code Online (Sandbox Code Playgroud)

或者这是我应该得到的最后一个json

[
    {
        "id": 1,
        "name": "Manoj",
        "parentId": 0,
        "item": [
            {
                "id": 2,
                "name": "Sv",
                "parentId": 1,
                "item": [
                    {
                        "id": 3,
                        "name": "Cp",
                        "parentId": 2,
                        "item": …
Run Code Online (Sandbox Code Playgroud)

java scala

3
推荐指数
1
解决办法
3386
查看次数

无法读取Freemarker模板中的对象值

我很能读取Freemarker Templet中的scala / java对象值

我尝试了这个:

    case class ScheduleEmail(workOrderNo:String,
                             name:String,
                             woType:String,
                             numberOfAssets:String,
                              artisan:String,
                             dueDate:Date,priority:String)

    object ScheduleMailSending extends  App{
      val scheduleEmail1= List(ScheduleEmail("1", "Oil Change1", "WO", "3", "XYZ", Date.valueOf("2015-01-01"), "High"))
      val configaration = new Configuration
      configaration.setClassForTemplateLoading(this.getClass, "/")
      configaration.setObjectWrapper(new DefaultObjectWrapper())
      val data: util.HashMap[String, Object] = new util.HashMap[String, Object]
      val templet = configaration.getTemplate("schedule.ftl")
      data.put("mails",scheduleEmail1.asJava)
      val writer =new StringWriter()
     templet.process(data,writer)
      println("writer"+writer)
    }
Run Code Online (Sandbox Code Playgroud)

我的模板是

<#list mails as std>

    WorkOrderNo:${std.workOrderNo}
    woType:${std.woType}

</#l
Run Code Online (Sandbox Code Playgroud)

我正在为这个错误而苦恼-

SEVERE: Error executing FreeMarker template
FreeMarker template error:
For "${...}" content: Expected a string or …
Run Code Online (Sandbox Code Playgroud)

velocity freemarker scala

2
推荐指数
1
解决办法
864
查看次数

标签 统计

scala ×2

freemarker ×1

java ×1

velocity ×1