当前位置: 代码迷 >> java >> 将JSON对象传递到Rythm模板
  详细解决方案

将JSON对象传递到Rythm模板

热度:84   发布时间:2023-07-31 11:08:33.0

我有一些模板注册表,需要开发将由客户端模板呈现的代码(例如,客户端将通过http调用我的代码并提供模板名称和参数)。 由于调用是由http执行的,因此我将拥有客户端提供的JSON形参(我什至没有代表用户输入的类),可能已解析为map of maps of maps... 事实证明,在模板中使用这样的结构并不方便:我所能做的就是使用Map::get(key)方法,并且仅具有1级嵌套:

由于param.get("person")而导致的下一个模板获取错误被假定为Object ,但没有get(key)方法:

@args Map<String, Object> param
Hello @param.get("person").get("firstName").capFirst()!

我记得有些模板引擎支持按对象映射语法,例如将map of maps of ... of objects传递到模板,并以POJO的形式在模板中访问它(例如访问JS中的JSON对象的字段),例如:

@args Map param
Hello @param.person.firstName.capFirst()!

节奏可能吗?

也许还有另一种简便的方法可以解决此类问题?

通过在表达式的末尾添加@尝试 :

@args com.alibaba.fastjson.JSONObject param
Hello @param.person.firstName.capFirst()@!

参见

  相关解决方案