现状:使用freemarker的处理空
- 旧的Java项目有很多成品模板伟大的工作。
- 每个模板都使用数据表单Transaction对象。
- 此事务处理对象非常大,因为它包含有关事务的所有数据。
- 在模板中有很多像这样的表达式: get(“object1”)。getNestedObject2()。getNestedObject3()。getValue();
问题: 出现新要求:所有模板都必须为没有真实数据预览过程。所有的数字应该是零,所有的字符串应该是---。
解决方案不能令人满意:
- 翻拍的所有模板,以检查空值。 (很多工作并不安全)
- 创建包含所有默认值的交易对象。 (很多工作)
那么我的问题是:我可以对Freemarker说,如果他发现空或沿途发现空,他应该用0代替,如果他期待的数字或---如果他期待String。
或者你能看到更好的解决方案吗?
对不起,我的英文。
您正在使用哪个版本的Freemarker和Java?另外,您是否使用其他框架来帮助您将这些技术联系起来? –
我使用的是freeMarker 2.3.20和java 1.7。不,我不使用任何其他框架。 – tosovvoj