0
我是freemarker的初学者,我想用它来生成一些重复的代码。Freemarker:嵌套模板
从一个简单的类像这样的:
public class Point {
private Integer x;
private Integer y;
private String name;
}
我需要的,每个属性,产生线是这样的:
ValueProvider<Point,Integer> x();
ValueProvider<Point,Integer> y();
ValueProvider<Point,String> name();
要做到这一点,我有这个简单的模板:
ValueProvider<${clazz},${attrType}> ${attrName}();
然后,我想要生成一个完整的类,如下所示:
public final class PointValueProviders {
public interface PointPropertyAccess extends PropertyAccess<Point>{
ValueProvider<Point,Integer> x();
ValueProvider<Point,Integer> y();
ValueProvider<Point,String> name();
}
public static final PointPropertyAccess POINT_PA= GWT.create(PointPropertyAccess.class);
private PointValueProviders(){}
};
对于这一点,我有一个问题:我不知道如何运用小模板的时间未定数量在一个更大的模板,像这样的:
public final ${clazz}ValueProviders {
public interface ${clazz}PropertyAccess extends PropertyAccess<${clazz}>{
//Here, How do I tell freemarker to use the small template???
//ValueProvider<${clazz},${attrType}> ${attrName}();
//ValueProvider<${clazz},${attrType}> ${attrName}();
//ValueProvider<${clazz},${attrType}> ${attrName}();
//ValueProvider<${clazz},${attrType}> ${attrName}();
//etc..
}
public static final ${clazz}PropertyAccess ${clazzUpperCase}_PA= GWT.create(${clazz}PropertyAccess.class);
private ${clazz}ValueProviders(){}
};
任何想法?
我将解决方案与列表一起使用。我在数据模型中添加了一个Entry <“props”,List