【发布时间】:2016-08-02 00:54:44
【问题描述】:
我能否从 Java 对象中调用从几个字符串生成名称的函数?在我的示例中,它是一个简单的吸气剂。只是好奇。
Process 是这样的 Java 对象:
public class Process {
private int number = 0;
public int getNumber() {
return this.number;
}
public String getPropertyName() {
return "number";
}
}
假设我们将 Process 对象作为变量 process 传递给 freemarker 模板,如下所示:
return Results.html().render("process", new Process());
现在我们有一个包含以下代码的 html 页面。我想到的方法应该像这个例子一样(这个例子不起作用!):
<#assign methodName = "process.get" + process.getPropertyName()?cap_first + "()">
<input name="${process.getPropertyName()}" type="number" value="${methodName}"/>
在 html 中解释的结果是这样的:
<input name="number" type="number" value="process.getNumber()"/>
但它只是一个字符串,并没有在 freemarker 模板中解释为存储在方法中的值。
你怎么看,有没有办法做到这一点?
【问题讨论】:
标签: java html freemarker