当前位置: 首页 > 知识库问答 >
问题:

如何在Velocity模板中打印对象列表?

钮巴英
2023-03-14

这是一个非常基本的问题,我很确定我做错了什么,或者做了一些假设。开始了。

我正在写一个Jira插件,它使用Velocity模板系统。我有一个ResultRow对象列表,其中ResultRow是一个具有单个成员变量的类:String key:

public class ResultRow {
  public String key;
}
List<ResultRow> rows = new ArrayList<ResultRow>();

ResultRow row = new ResultRow();
row.key = "foo";

rows.add(foo);

Map<String, Object> velocityParams = new HashMap<String, Object>();
velocityParams.put("rows", rows);

return descriptor.getHtml("view", velocityParams);
#foreach ($row in $rows)
  <tr><td>$row.key</td></tr>
#end
#foreach ($row in $rows)
  <tr><td>$row</td></tr>
#end

结果和预期的一样:com.domain.jira.resultRow@7933F2C6。

我想我可能错过了课堂上的一些要求。是否需要以某种特殊的方式定义,以建议速度在模板中使用某些成员?Jira是否使用了某种特殊的Velocity的时髦版本,这种版本只适用于某些特定的对象?

共有1个答案

单于经纬
2023-03-14

我想答案是你做不到我想做的。您可以调用成员方法,但不能访问成员变量,这意味着您需要将getter添加到类中。(我发誓我试过了。啊,好吧。)

 类似资料:
  • 我想打印一个字符串作为valuei尝试遵循宏[2]和“set”[1]选项,但仍然没有运气; [1] 我怎样才能使我的速度测试版打印像;?

  • 问题内容: 我在客户端需要一个对象,因此我使用json.marshal将其转换为JSON并将其打印到模板中。该对象将作为转义的JSON字符串输出。 我期望它是,但事实是 我知道我可以在客户端进行JSON.parse,但这是唯一的方法吗? 这是我在模板中打印的方式: 这是我的元帅职能: 问题答案: 在JS上下文中,普通字符串总是被转义。我应该在打印之前将其转换为类型。 参考:http : //gol

  • 问题内容: 这是我的对象类: 我将其添加到速度上下文中,如下所示: 但是,在编写模板时,以下内容将不会呈现地址字段(但是,当我将getter添加到Address类时,它可以正常工作) 是否可以通过Velocity访问对象上的公共字段而无需添加吸气剂? 问题答案: 默认不是。您需要配置其他Uberspect实现。

  • 请帮助将此类型打印为格式?

  • 问题内容: 好吧,这个交互式的python控制台代码段将告诉一切: 基本上,我想在打印列表时打印三个字符串。我也尝试过,但结果相同。 问题答案: 尝试: 并阅读此文档链接:

  • 我有这样一堂课: 在主要我已经创建了一个包含所有主题的列表。 现在我想打印所有参加课程的学生的所有科目名称。 我试过这样的方法,但它给了我错误: 参数类型字符串void的运算符未定义 我不知道如何使第二个流返回每个学生的和的字符串。我可以将它映射到字符串,然后以某种方式收集它吗?第一个流中的类似内容?