いくつかの文字列から名前を生成したJava Objectから関数を呼び出せますか?私の例では、単純なゲッターです。ちょっと興味があるんだけど。Freemarkerで動的に生成された名前を持つ呼び出し関数
プロセスは、このようなJavaオブジェクトです:
public class Process {
private int number = 0;
public int getNumber() {
return this.number;
}
public String getPropertyName() {
return "number";
}
}
は、我々はこのような何かを持つ変数プロセスとしてFreeMarkerのテンプレートにProcessオブジェクトを渡されたとしましょう:
リターンResults.html ()。レンダー( "プロセス"、新しいプロセス());
ここでは、次のコードを含むHTMLページがあります。私が考えている方法は、この例のような何か行う必要があります(例では動作しませんを!):
:
<input name="number" type="number" value="process.getNumber()"/>
<#assign methodName = "process.get" + process.getPropertyName()?cap_first + "()">
<input name="${process.getPropertyName()}" type="number" value="${methodName}"/>
HTMLに解釈した結果がこれです
しかしそれは単なる文字列であり、フリーメーカテンプレートではメソッドの中に格納された値として解釈されません。
はこれを達成する方法があると思いますか?
ありがとうございました!たぶん自分自身で解決策を見つけるのが遅すぎたかもしれない;) – Krt