asta4d的模板文件中不允许任何动态代码,一个asta4d的模板永远是一个标准的html文件,任何前端工程师都轻松的维护asta4d的模板文件。这是asta4d最初设计思想的体现--对设计师友好。源于asta4d的这个特性,使得我们减少了至少90%前端重构的工作量。
1. 在模板中声明snippet class
下面是一个模板文件片段:
<section> <article> <div afd:render="SimpleSnippet">dummy text</div> <afd:snippet render="SimpleSnippet:setProfile"> <p id="name">name:<span>dummy name</span></p> <p id="age">age:<span>0</span></p> </afd:snippet> </article> </section>
首先,注意div标签中引入的afd:render属性,该属性声明了负责具体渲染逻辑的java类,我们通常称之为snippet class。除了afd:render属性,asta4d同时允许通过afd:snippet标签来声明snippet class。通过snippet声明,渲染逻辑被隔离到独立的java实现中,而对开发人员来说,他们不需要学习任何新的模板语言,他们可以用他们已经熟练掌握的具有强大能力的java语言来完成所有的渲染逻辑,没有学习成本,没有魔术代码,只有简洁明快的java代码。
2. snippet class的实现
public class SimpleSnippet { public Renderer render(String name) { if (StringUtils.isEmpty(name)) { name = "Asta4D"; } Element element = ElementUtil.parseAsSingle("<span>Hello " + name + "!</span>"); return Renderer.create("*", element); } public Renderer setProfile() { Renderer render = new GoThroughRenderer(); render.add("p#name span", "asta4d"); render.add("p#age span", 20); return render; } }
注意snippet实现中renderer的调用,renderer通过css selector来声明渲染对象,并将渲染内容同时作为参数传递给renderer。上面的模板文件和snippet将会得到下面的渲染结果:
<section> <article> <span>Hello Asta4D</span> <p id="name">name:<span>asta4d/span></p> <p id="age">age:<span>20</span></p> </article> </section>
3. 总结
asta4d在html模板文件中引入了额外的4个tag:afd:extension, afd:block, afd:embed, afd:snippet,asta4d对html模板文件的侵入到此为止,而这区区4个tag,能够被大多数的html编辑器正常处理,因此,asta4d的模板对前端工程师是极度友好的。另一方面,可以看到,所有的渲染逻辑都是通过java代码实现,后端工程师可以非常自然的将渲染逻辑与后端调用结合在一起,不再有魔术代码,也不再有额外的学习成本,对后端工程师来说,这意味着生产力的极大提升。
相关推荐
它提供了View First的开发模式,以及代码与模板分离的机制,是一个对设计师和开发人员极度友好的框架。 在过去十年,基于Java的MVC框架如同雨后春笋一般层出不穷,但都不愿意面对或者解决的问题是,它对前端设计师极...
asta4d, 查看第一个web应用程序框架 新闻2016-11-17,1.2 -M2发布。2016-04-13,1.2 -M1,具备一些基本增强功能。2016-01-22,asta4d-ide 发布,以加速我们的开发与 asta4d 。2015-12-25,1.1年正式发
《asta4d-spring-0.4.2.zip与foss-configs.zip:揭秘开源项目的构建与配置》 在IT领域,开源项目以其开放、共享的精神,推动了技术创新与协作的发展。今天,我们将深入探讨两个特定的开源项目,即asta4d-spring-...
《smallhand_Asta.v3.139.rar》是一个基于Delphi开发的软件资源包,其版本号为3.139。这个压缩文件包含了名为"Asta.v3.136"的子文件,暗示了这可能是软件的一个早期版本或者更新前的文件。下面将深入探讨Delphi编程...
《asta4d-archetype-0.14.4.30.zip——开源键值存储原型探索》 在IT行业中,开源项目一直是技术创新的重要驱动力,它们为开发者提供了丰富的资源和学习平台。"asta4d-archetype-0.14.4.30.zip" 就是一个这样的开源...
asta4d-core-0.8.6-sources.jar
asta4d-core-0.4.2-sources.jar
asta4d-web-0.8.6-sources.jar
asta4d-web-0.4.2-sources.jar
asta4d-archetype-0.8.6-sources.jar
asta4d-sample-0.4.2-sources.jar
asta4d-spring-0.8.6-sources.jar
asta4d-spring-0.4.2-sources.jar
asta4d-core-0.4.2.jar
asta4d-web-0.8.6.jar
asta4d-archetype-0.8.6.jar
asta4d-spring-0.8.6.jar
asta4d-spring-0.4.2.jar
- Asta3Source.exe:这很可能是ASTA3.0的安装程序或可执行文件,用户可以通过运行这个文件来安装或启动ASTA3.0开发环境。 - ASTA.gif:这可能是一个图标或者软件的展示图片,用于预览ASTA3.0的外观或功能。 - Asta3...
asta4d-core-0.7.24-sources.jar