2016-08-11 26 views
0

背景信息创建一个HTML生成:寻找最有效的设计模式中使用Java

在我的地方,我们有这样的系统来创建新的HTML页面的工作。

第1步:复制默认模板

第2步:复制片段创建于页

此HTML页面将用于其后端COBOL程序上的元素。

这个过程需要很长时间,并且可以通过一些用户输入轻松自动生成。我现在一直在学习Java,现在我遇到了一些设计模式。检查了几个之后,我完全失去了什么时候使用另一个。我使用Gagawa Java库创建HTML节点,但我坚持如何继续下去。

的片段的一些例子:

正常输入字段:

<label for="#id input field#" class="col-xs-3 control-label"> 
    <!--NL-->Normal field<!--FR=Normal field (french)--> 
</label> 
<div class="col-xs-2"> 
    <input type="text" class="insnal form-control" id="#id input field#" name="#id input field#" maxlength="#input max length#"> 
</div> 

一个日期输入字段:

<div class="row"> 
    <label for="#id input field#" class="col-xs-3 control-label"><!--NL-->Date field<!--FR=Date field (french)--></label> 
    <div class="col-xs-2"> 
     <div class="input-group"> 
      <input type="text" class="insnar form-control form-date" id="#id input field#" name="#id input field#" maxlength="10"> 
      <span class="input-group-btn"> 
       <button class="btn btn-default" type="button" id="but#id input field#"><span class="glyphicon glyphicon-calendar"></span></button> 
      </span> 
     </div> 
    </div> 
</div> 

正如你看到的,代码两件看起来非常相同

div:行 - >标签 + div:col-xs-2 - >实际不同的元素

我正在寻找的是创建这些类型的东西的最佳设计模式。这是非常简单的,但+ - 15这些片段使用相同的结构,如果我只为他们每个人做一个类,我会得到很多双重代码。

我只是想创建一个程序,要求用户得到一些输入,并使用这些片段生成一个HTML页面。

+6

一个小时前你问了一个[非常相似的问题](http://stackoverflow.com/questions/38885990/best-design-pattern-for-html-generator)。在重新发布相同的东西之前,您是否考虑过任何反馈? –

+0

好吧,似乎这个问题被误解了很多,所以我试图给出一个更详细的版本。我试图删除它,但我不能,因为它已经有答案。我一直在使用这个网站很长一段时间,从来没有在这里发布太多,所以我还没有得到的东西的机制。 – Nimrod

+0

小心不要松动概述,SWT的答案感觉不太对。 (1)即使使用gagawa DSL(保证HTML正确性),也需要HTML版本控制系统。 (2)DSL意味着程序员进行布局。 (3)GUI设计师,模板等领域很大。应该在那里。 (4)所有人都必须适合你的组织,并且对涉及的人有吸引力。最好的是一个无干扰的工作流程。制作一个最小的原型,也许用Jetty或者其他。 –

回答

1

虽然我从来没有用过Gagawa,但我会亲自在这方面拿出SWT的书,并使用Composite模式(https://en.wikipedia.org/wiki/Composite_pattern)。因此,您可以为您要使用的所有控件定义可配置的类定义,并确保它们中的一些具有容器特性。

我建议您阅读有关SWT小部件:http://www.vogella.com/tutorials/SWT/article.html。这是一个很好的演讲,可能会给你一些想法。

+0

会做! Thx的回应 – Nimrod