有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

是否有支持条件格式的Java轻量级模板解决方案?

我使用MessageFormat来格式化一些地址,模板如下:

"{0}\n{1}\n{2}\n{3}, {4} {5}"

在哪里

  • 0=街道1
  • 1=街道2
  • 2=街道3
  • 3=城市
  • 4=状态
  • 5=拉链

这些字段中的大多数在捕获时是可选的。例如,当没有street 3时,如何避免出现空线?我可以使用这样的模板“{0}{1}{2}{3}{4}{5}”,然后相应地替换为“street 3\n”或“”,但该模板在格式化方面没有提供太多好处

有没有办法在格式字符串中包含条件句?或者是否有另一个支持条件格式的模板工具,最好是轻量级的


共 (2) 个答案

  1. # 1 楼答案

    jguru StringTemplates

    这是用来建立网站jGuru的——它已经存在了一段时间了

  2. # 2 楼答案

    编辑:重写

    如果你不在乎设计,那么你可以随意选择一个模板引擎,或者因为你喜欢它的名字,或者其他什么。如果你没有选择引擎的标准,那么谁在乎你选择哪一个呢

    另一方面,如果你确实关心设计,比如使用模型-视图-控制器(MVC)设计模式,那么你的选择很快就会减少

    这里的大多数答案都强调了各种模板引擎的威力。但是MVC的全部意义在于,你不想做更多的事情,因为在模板中做更多的事情最终会对你造成很大的伤害。业务逻辑不属于视图,而是属于模型。控制逻辑属于控制器。实际上只有一个模板引擎可以强制执行MVC模式。如果你不想要MVC模式(也许你正在超越它),这个引擎仍然可以帮助你避免伤害自己,并鼓励你正确地划分你的功能

    实际上只有一个好的模板引擎:StringTemplate。有关原因的详细信息,请参见http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf

    我已经在多个平台(Python、Java、.Net)上使用过它,以及许多替代方案和StringTemplate规则

    决定完成了。享受致以最良好的祝愿