首页 > 编程知识 正文

java自动提交网页表单,后端接收formdata

时间:2023-05-06 20:41:43 阅读:13291 作者:3750

赞助链接

本文《动态表格与动态表格制作的实现原理[Java编程]》是七道奇为你精心收集的,转载自网络,文章版权归文章作者所有。 本网站不对其观点和内容进行任何评价,请读者自行判断。 以下是其具体内容。

1使用场景

项目需要始终动态创建表单,可能需要添加新的数据模板。 此时,由于需求在运行时动态创建表并动态保护表的fnddc表的关系,常规的java规划变得困难。

2安装工具

hibernatespringgroovyfreemarker

Hibernate的作用很简单,负责创建数据库表,避免我们自己写复杂的sql和判断。

Spring作为桥梁发挥纽带的作用

Groovy作为一种动态语言,在项目运行时根据模板构建等待礼拜的数据库,大致掌握层代码

Freamker可以根据预定义的模板生成hibernate配置文件和Groovy代码。

3实现原理

首先,建立Form和FromAttribute两个表关系。 表单表将表单域信息(如名称、类别等)记录为表单的名称、类别,以及动态生成表单时的css模型信息。 有了窗体和窗体项的信息,就可以创建数据库表。

测试代码:

公共语音测试生成器

form form=form服务. get all ().get ) ) 0;

列表列表=格式属性服务

. getattributelistbyformid (form.getid );

form.setformattributelist (列表;

dbgeneratordg=newdb generator (form,dataSource );

dg.generator (;

}

数据库生成器

import java.io.IOException;

import java.io.StringWriter;

import java.io.Writer;

导入Java.SQL.sqlexception;

import java.util.HashMap;

import java.util.Map;

import java.util.Properties;

import javax.sql.DataSource;

importorg.hibernate.tool.hbm2DDL.schema export;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

导入freemarker.template.configuration;

导入freemarker.template.template;

导入freemarker.template.template exception;

公共类数据库生成器{

私有数据源数据源;

保护性map root=new hashmap (;

私有状态日志gerlog=logger factory.getlogger (form generator.class;

保护性字符串路径;

保护性字符串包名称;

私密表单;

保护性配置getconfig {

配置CFG=new配置(;

CFG.set default编码(utf-8 );

CFG.setclassfortemplateloading (this.getclass )、resource );

返回CFg;

}

publicdbgenerator(formform,数据源数据源) {

this.form=form;

this .数据源=数据源;

}

公共语音生成器

if (null==form.getformattributelist (|form.getformattributelist ).size (==0) ) ) ) ) ) ) )。

返回;

}

模板t;

try {

t=getconfig(/template ) (.gettemplate ) (hibernate.ftl );

Writer out=new StringWriter (;

t .处理(getmapcontext )、out );

String xml=out.toString (;

创建表(XML;

log.debug(XML;

}catch(ioexceptione ) {

e .打印堆栈跟踪(;

}catch(templateexceptione ) {

e .打印堆栈跟踪(;

}

}

@suppresswarnings('unchecked ' ) )。

Map getMapContext (

root.put('entity ',form );

返回根;

}

公共语音创建表(字符串XML ) {

org.hibernate.CFG.configuration conf=new org.hibernate.CFG.configuration (;

conf.configure ((/hibernate/hibernate.CFG.XML );

propertiesextraproperties=new properties (;

extra properties.put (' hibernate.hbm2DDL.auto ',' create ' );

conf.add properties (extra properties );

conf.addXML(XML;

方案导出数据库导出;

try {

dbexport=new方案导出(conf,dataSource.getConnection );

//dbexport.setoutputfile(path );

dbexport.create(false,true );

}catch(sqlexceptione ) {

//todo auto-generated catch块

e .打印堆栈跟踪(;

}

}

}

类hibernate generator {

}

以上是“动态表单及动态表格创建的实现原理[Java编程]”的内容。 如果您对上述文章的内容感兴趣,请浏览七道奇推荐的以下文章。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。