java web动态表单_Java Web框架动态表单域编程在物业管理中的应用

1动态表单域概述本文的动态表单域,是指Web页面中,需要提交的表单域不是事先指定的,而是动态可变的(通常是由数据库记录来生成)。例如在物业管理中计费应用中,计费的项目是由数据库记录生成的,当需要录入每种计费项目的抄表度数时,就存在动态表单域的问题;根据各种收费项目生成房间的收费单时,也会遇到同样的问题。类似的情况还有很多。常规的方法需要做很多额外的处理,比较复杂。本文使用WebWork和FreeMarker技术结合,问题得到了圆满的解决。在最近完成的物业管理系统中,复杂的收费管理多处应用了这种技术,收到了很好的效果。2FreeMarker概述FreeMarker是一个开放源代码项目,它是一个“模板引擎”,一个通用的基于模板的文本输出的工具。FreeMarker主要是设计用来生成HTMLWeb页面的,特别是基于MVC(ModalViewController,模型-视图-控制器)方式的servlet应用程序。使用FreeMarker模板可以使页面模板远离复杂程序逻辑的干扰。FreeMarker的原理简单地说就是:模板+数据模型=输出。3WebWork概述WebWork也是一个开放源代码项目,它是一个JavaWeb应用开发框架,特别为提高开发者的生产力、简化开发者的代码而设计的。WebWork建立在XWork的上层,而XWork提供了一个一般的命令模式(commandpattern)框架和一个控制反转(IOC,InversionofControl)的容器。WebWork在建立重用的UI模板、表单控制、UI主题、国际化支持、动态表单参数与JavaBean匹配、客户端和服务器端的校验等方面提供了强大的支持。4FreeMarker+WebWork的组合优势Web环境下面的MVC框架通常被称为Modal2。在Modal2里面,FreeMarker模板文件充当的是View的角色,可以取代常见的JSP。FreeMarker模板文件不绑定任何Web对象。在Web环境中,FreeMarker不关心数据模型的来源,是独立于Web环境的。作为MVC开发框架的WebWork在Modal2中充当的是Controller的角色。WebWork在处理Action时,会遍历Request、Session、ServletContext中的数据,并将其复制到Webwork的Map实现中,后来所有数据操作均在此Map结构中进行,从而将内部结构与ServletAPI相分离。这样一来,使用WebWork框架编写Action时,所有的数据和业务逻辑都和Web环境在逻辑上进行了隔离。两者在设计时都考虑到了与Web环境的隔离,其组合会带来巨大的优势。5动态表单域编程动态表单域编程的难点在于,如何将View的动态数据传递到Controller中;如何在View中显示Controller中提供的动态数据。WebWork优良的数据传递机制很好地解决了这个难题。本文以物业管理中录入抄表度数为例来说明。抄表度数包括水表、电表、煤气表的度数,还可以包括网络宽带的上网时间或上网流量等。录入这些度数后,就可以自动生成收费单进行收费了。由于每个小区需要进行收费的项目都可能不同,因此需要涉及到动态表单域的编程。5.1xwork.xmlxwork.xml是WebWork的配置文件,相关的配置信息如下:文件xwork.xml片断/WEB-INF/ftl/amount.ftl/WEB-INF/ftl/amount.ftl文件中配置了两个Action,amount和amountSubmit,分别由于录入和提交后的处理。/WE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值