java中显示动态信息的方法_java里的动态表单技术

最近的一个项目,由于客户的需求等信息不确定,为了降低以后修改的成本及产品的推广考虑到动态表单技术,之前也一直在考虑到动态表单技术,毕竟在delphi里已经实现过了,由于我们采用的hibernate的执久层的原故,每一个表需要一个VO,这样,动态生成表后,VO无法生成,当时做罢!在团队讨论这个问题的时候,想到了这样的一个解决方法,将数据的存储由横向变为纵向,通过这种方法我们实现了动态的数据保存!!!下面介绍一下具体的方法。

(1)数据存储

大家都知道,在传统的数据存储过程中,一个表是由N个字段组成的,每个字段有他特殊的含义,数据类型等;如下:

Student(表)

ID(主键) int

Name(名称) varchar(10)

..

..

我们现在采用的方法是将横向的表进行竖向的存储方法,首先,通过一个表定义的表(有点绕),描述一下表和数据字段的信息,如下:

定义

TableName    FieldName FieldNameCN FieldType ..

存储

’Student‘    ’name‘  '名称'               '字符'

通过数据描述,描述数据表的基本组成,下面介绍一下数据存储表,如下,与数据定义表类似,加入一个存储值字段:

定义

TableName    FieldName FieldNameCN FieldType  FieldValue

存储

’Student‘    ’name‘  '名称'               '字符'       '张三'

这就是基本的动态表单的结构,真实的情况比这要复杂一些,有的需要字典关联信息(类似于地区等),基本的结构就是这样,通过这样的存储方式,可以实现数据的动态的存储,实现业务表的动态变化;

(2)数据查询

通过横表转纵表的SQL语句,可以实现纵向存储的表,横向显示(上网找一下,这样的例子非常多),另一个问题是存储为字典编号时,需要显示值,同样可以通过Sql语句实现。

(3)数据显示

由于动态表单的动态建立的,通过对表单的显示传递特殊的参数,可以实现数据的列表或是单表(修改样式)的显示;

今天先介绍到这里,后续的还有显示模板的制作,校验等;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395760.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cinder 组件详解 - 每天5分钟玩转 OpenStack(47)

本节我们将详细讲解 Cinder 的各个子服务。 cinder-api cinder-api 是整个 Cinder 组件的门户,所有 cinder 的请求都首先由 nova-api 处理。cinder-api 向外界暴露若干 HTTP REST API 接口。在 keystone 中我们可以查询 cinder-api 的 endponits。 客户端可以将请…

中国移动 全球通、 动感地带、神州行 的区别

1、全球通 1、主要面向商务人士可以享受机场VIP俱乐部的尊贵、1860专席的高质量服务、个性化账单、客户积分奖励以及大客户经理贴心服务,更有尊贵资费套餐优惠,但它价格也是最贵的。 2、全球通面对事业成功的人士,进取。 3、全球通&#xff…

java 并发测试main方法_java并发编程test之synchronized测试

synchronized关键字可以用于声明方法,也可以用于声明代码块;package com.test.java;public class SyncTest {public static void main(String[] args) {SynchronizedDemo1 synct1 new SynchronizedDemo1();SynchronizedDemo2 synct new SynchronizedDemo2();SynchronizedDemo…

业余爱好者linux_如何从业余爱好者变成专业开发人员

业余爱好者linuxby Ken Rogers肯罗杰斯(Ken Rogers) 如何从业余爱好者变成专业开发人员 (How to Go From Hobbyist to Professional Developer) A few years ago, I was bouncing back and forth between landscaping jobs and restaurant jobs. I had just left college, and…

RedHat Enterprise Linux 6 配置Xmanager ,实现图形界面连接

我们经常见到的几种最为常用的windows下远程管理Linux服务器的方法,基本上都是利用SecureCRT,或者是PUTTY等客户端工具通过ssh服务来实现Windows下管理Linux服务器的,这些客户端工具几乎不需要什么配置,使用简单,但是它们都无法启…

Mac下配置iterm2 支持rz sz命令

转自:http://blog.csdn.net/citywolf4/article/details/49071679 1.安装lrzsz,使用brew命令:brew install lrzsz如果找不到lrzsz,使用以下命令更新brew库:brew update2.下载zmoden脚本在https://github.com/mmastrac/iterm2-zmode…

java中session对象登录_JavaWeb中Session对象的学习笔记

一、Session简单介绍在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独…

vux flexbox使用_Flexbox用大的,彩色的动画gif进行解释

vux flexbox使用Here are three links worth your time:这是三个值得您花费时间的链接: How Flexbox works — explained with big, colorful, animated gifs (5 minute read) Flexbox的工作原理-带有大尺寸,彩色动画gif动画( 阅读5分钟 ) How to commi…

微信小程序 没有找到 node_modules 目录

在学习小程序云开发的时候,遇到一个问题,使用npm i --production 和npm i vant-weapp -S --production之后,在微信开发者工具中并没有node_modules文件夹 但是在根目录下生成了一个package-lock.json文件。也就是下载的依赖都已经装好了&…

关于Unity中UI中的Image节点以及它的Image组件

一、图片的Inspector面板属性 Texture Type:一般是选择sprite(2D and UI) Sprite Mode:一般是选择Single Packing Tag:打包的标志值,最后打包的时候会把Tag相同的所有小图打包成一个大图。不像cocos打包图集需要用到第三方软件&am…

Knockoutjs官网翻译系列(一)

最近马上要开始一个新项目的研发,作为第一次mvvm应用的尝试,我决定使用knockoutjs框架。作为学习的开始就从官网的Document翻译开始吧,这样会增加印象并加入自己的思考,说是翻译也并不是纯粹的翻译,会加入自己对知识点的思考以及自…

无人机导航定位系统Java_无人机高精度室内定位导航的技术方案

原标题:无人机高精度室内定位导航的技术方案因为一些特殊的用途,比如室内表演,编队室内飞行等,无人机不可避免会在室内飞行,无人机对室内定位精度的要求很高,室内空间本身就不会太大,若定位精度…

javascript控制台_如何充分利用JavaScript控制台

javascript控制台by Darryl Pargeter达里尔帕格特(Darryl Pargeter) 如何充分利用JavaScript控制台 (How to get the most out of the JavaScript console) One of the most basic debugging tools in JavaScript is console.log(). The console comes with several other use…

Django之静态文件配置

静态文件 了解静态文件配置之前,我们需要知道静态文件是什么? 静态文件其实指的是像css,js,img等一些被模板需要的文件。 如何在Django中配置我们的静态文件 1.建立static文件夹,将静态文件放在该目录下 2.在settings文件下配置如…

神奇的图像处理算法

http://blog.chinaunix.net/uid-23065002-id-4392043.html http://blog.csdn.net/k_shmily/article/details/51138154 几周前,我介绍了相似图片搜索。 这是利用数学算法,进行高难度图像处理的一个例子。事实上,图像处理的数学算法&#xff0c…

JavaWeb项目前端规范(采用命名空间使js深度解耦合)

没有规矩不成方圆,一个优秀的代码架构不仅易于开发和维护,而且是一门管理与执行的艺术。 这几年来经历了很多项目,对代码之间的强耦合及书写不规范,维护性差等问题深恶痛绝。在这里,通过仔细分析后,结合自己…

java重要基础知识点_java基础知识点整理

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼java基础知识点整理1.&和&&的区别?&:逻辑与(and),运算符两边的表达式均为true时,整个结果才为true。&&:短路与,如果第一个表达式为false时&#…

网易云音乐的算法有什么特点_当算法设计音乐厅时会发生什么?

网易云音乐的算法有什么特点Here are three links worth your time:这是三个值得您花费时间的链接: What happens when algorithms design a concert hall? (3 minute read) 当算法设计音乐厅时会发生什么? ( 阅读3分钟 ) How to land a top-notch tec…

开机发现超级管理员账户不见了

今天出现了一个怪现象,连接打印机的电脑上没有超级管理员账户,只有一个刚建立的新账户,这是怎们回事来?嗳,原来啊,安装Windows XP时,如果又设置了一个管理员账户,那么系统内置没有密…

vs自带iis局域网调试

http://www.cnblogs.com/liluping860122/p/4685564.html转载于:https://www.cnblogs.com/wcLT/p/5594252.html