文档章节

从动态表单得到的一些思考

secondriver
 secondriver
发布于 2015/09/17 09:23
字数 857
阅读 27
收藏 0

    前些日子有一位前辈说如果一个C#出身的项目经理来领导一群java程序员,那么这些多半会疯掉。java相对于C#而言开发效率比较低。

    在javaWeb开发总是有一大堆的配置文件要去配置和修改,随着工程的进展,这些配置文件的内容极具增长。比如在Struts1.2中要去配置FormBean,如果工程中Form很多的时候,配置FormBean的配置文件自然就会分开写一个文件,配置文件的管理从一堆一叠分离到根据不同需要来书写,但是FormBean这些类还是无法避免,这样导致类的数量变得庞大。

    当然,面对所有的软件开发过程中的恐慌,重复,人类艺术家们总能够寻找到解决之道。java软件开发的灵活性在这些地方清晰可见。有这样的一种现状:比如Struts +Hibernate+Spring实战宝典啊,框架学习等等一些书中,发现作者总是有意无意的告诉读者,这些框架的东西是为了解决大型项目中遇到的问题,将开发人员从重复的劳动中解救出来,更专注与项目的实际业务逻辑的处理。

    程序员们从来都不缺乏时间,但是从来都不会浪费时间。框架是开发人员的自救之路,也是面对软件危机艺术家们采取的一种解决方法。

    毫无疑问,在我感到重复编写FormBean类的时候,我总是偷一下懒,尝试寻求新的路径来避免这样的工作。对于程序员来将,偷下懒的时间越多越有成就感。

   框架的优势就体现出来了。

   如下代码:

   


  
  1. <h1> 
  2.             动态ActionForm 
  3.         </h1> 
  4.         <hr> 
  5.         <form action="dynaAction.do" method="post"> 
  6.             姓名: 
  7.             <input type="text" name="userName" id="userName" /> 
  8.             年龄: 
  9.             <input type="text" name="userAge" id="userAge" /> 
  10.             <input type="submit" value="提交" /> 
  11.             <input type="reset" name="重置"> 
  12.  


  
  1.         </form> 

   这样的一个提交表达,当然要写一个FormBean。可是下面的动态配置就可以避免这样的代码编写。

 


  
  1. <!-- 配置动态ActionForm --> 
  2.     <form-beans> 
  3.         <form-bean name="dynaForm" 
  4.             type="org.apache.struts.action.DynaActionForm"> 
  5.             <form-property name="userName" type="java.lang.String" /> 
  6.             <form-property name="userAge" type="java.lang.Integer" /> 
  7.  


  
  1.         </form-bean> 

    配置文件中对FormBean进行配置,配置后的FormBean的类型是DynaActionForm它继承了ActionForm因此作用是一样的,但是这样避免了类的数量的增加。

    其实在Java开发中这样的处理问题的思路还是很多的。Hibernate的实体映射配置文件使用注解写在java代码中,提高效率。JPA,Spring在具有文件配置的同时也都采用了注解。

    思来想去,面对这么庞杂的知识点,怎样才能从容以对?轻量级框架,重量级框架,还有什么超轻量级框架。同一问题不同的解决方法,没有对与错,全在围绕着效率,方便,开放,耦合度,易读,安全等等展开。

    当创造一样东西的时候,并不能毁灭一样东西,只能交给时间来处理,不过只要解决了当前最为重要最为紧迫的问题之后,我们有必要让这个亲手创造来的东西活的更久一些。

本文出自 “野马红尘” 博客,谢绝转载!

© 著作权归作者所有

secondriver
粉丝 10
博文 229
码字总数 233821
作品 0
广州
程序员
私信 提问
【中后台应用】从表单抽象到表单中台

从表单抽象到表单中台 作者:jinc 相信前端开发的同学,对表单其实并不陌生,而且时至今日,表单应用的编写因为React、Vue等框架的出现,也变得更加地便捷了。在前端工作中,有着很多中后台应...

FEOne
04/23
0
0
我在思考一下底层问题

经常看到别人说啥mvc,当然他们怎么说,我怎么信,那时也没有考虑为什么。今天突然想,写进浏览器地址栏中的url地址后,为啥浏览器就这么乖乖的找到要的数据呢。 做为静态页而好理解,比如h...

ziluopao
2016/03/14
403
5
[译]如何优雅地用 Vue 创建数据驱动的用户界面

翻译: 珈蓝 from 迅雷前端 翻译自 Evan Schultz 的文章 Do it with Elegance: How to Create Data-Driven User Interfaces in Vue 本文演示了如何利用 Vue 的动态组件根据 schema 来生成一个...

迅雷前端
2018/06/04
0
0
如何获得jbpm中的表单

@Koala_考拉 你好,想跟你请教个问题: 在koala-jbpm-designer中画好流程图,其中会有比如流程变量,user task表单等,发布后。 如何在koala-jbpm-oss项目中编辑代码,可以得到流程的表单,变...

jiangma
2014/04/17
623
2
web报表开发技术专题七:报表工具的外围功能

报表引擎设计好,报表运算结果出来以后,还有一些零散的外围功能需要实现,下面逐个来说明一下。 报表参数表单设计器 通常我们运行一个报表的过程是,先输入查询条件,然后点查询,得到报表的...

长平狐
2012/10/11
169
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
15
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
15
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部