最近参与一个项目,客户要求提供自定义表单的功能。主要的要求是:能够对表单的字段进行增删改,对显示表单的格式可以灵活定制。由于客户的表单变动可能比较频繁,所以决定实现自定义表单功能。初步设想出以下两种自定义表单的解决方案,目前只涉及到表单的显示方案。
请大家讨论一下两种方案的优劣,使用哪种较好。也欢迎大家提出更好的解决方案。
HTML 模板方案
概述:采用 HTML 模板方式。对于每一种样式的表单定义 HTML 模板;在模板中定义 Web 页面的 HTML 界面代码,在需要读到数据库数据的地方用特殊字符代替;当用户访问页面时,先从数据库中取得所有相关数据,然后根据指定的模板路径读入 HTML 文档内容,通过“模板标记解析器”用取得的数据替换掉模板中的特殊标记,然后将整个 HTML 文档显示出来。
XML + XSLT方案
概述:采用 XML 描述数据, XSLT 定义 XML 数据显示格式。通过 XSLT 来控制数据的显示;查询数据库返回 XML 格式数据,将 XML 保存到临时文件,通过 XSLT 来解析 XML 数据文件生成 HTML 代码,最终将 HTML 代码显示到前台页面中。对于第二种方式,我正好有个简单的Demo: /Files/Infinity/Demo.rar,请直接用浏览器打开“Test.xml”文档,即可看到 XML + XSLT方案的效果。