我在我的工作中处理了POS(销售点)终端。它们基本上与用Java编写的系统端点进行通信,该端点将与后端系统进行通信。
对于收据,我们将在端点中编写代码,生成需要打印的数据。这些收据每行只能占用40个字符,因此我们基本上会对每个需要打印的收据类型进行硬编码。
我想要做的是基本上提出一种脚本语法,我可以使用它来生成这些收据。
我的想法是建立一个GUI程序,您可以在其中设计收据,例如
Welcome To John Doe Services
Your current balance is $(F4).Format(currency)
或类似的东西。有了这个,我可以解释语法 $(F4).Format(货币),并实际拉取数据并正确格式化。
我会喜欢一些建议,我应该从哪里开始研究如何做到这一点。我想用Java写这个,但我不知道从哪里开始。我宁愿尝试远离一些子串魔法。
提前致谢。
编辑:很抱歉我应该提到,我们扩展的软件是用J ++编写的,所以我不能使用Java 5或6,我可以使用的最新Java是1.4
答案 0 :(得分:5)
Scripting for the Java Platform是你想要开始的地方,Rhino JavaScript引擎已经嵌入了Java 6运行时,因此您应该使用它来简化配置。
如果您坚持使用某些Domain Specific Language,那么最简单的地方就是ANTLR。作者Terrance Parr有一些关于ANTLR的好书。
答案 1 :(得分:3)
我看到两种方法。一种是脚本语言,或域特定语言,然后应用于收据。 JRuby是一个明显的选择。
如果你想更贴近Java,那么另一种方法是使用Velocity或FreeMarker等模板引擎。