题目见是否有可以编辑java bean对象的通用web组件?
把这个需求当作习题做了一下,准确地说做了一半,从任意咖啡豆动态导出Schema和简单测试网页。就用我在《元数据、开放数据模型及动态系统--形而下学篇》描述的套路。另一半应该更容易。任何XML Parser都支持Validation,一般用XML/Schema的理由之一就是Validation的能力,所以Validation因该不是问题。
我为此写了一个BeanMetadataReader,和一个XSLT,然后就是:
java 代码
- EndPoint in = new EndPoint("object:java.beans.Beans");
- in.setProperty("format", "metadata");
- EndPoint out = new EndPoint("file:///C:/hyperdigital/dataset/test-output/person.html");
- String[] xslts = {"file:///C:/hyperdigital/dataset/test-output/bean-test.xslt"};
-
- DataPipeLineFactory factory = DataPipeLineFactory.newInstance();
- XMLReader reader = factory.newDataPipeLine(in, out, xslts);
- Person bean = new Person();
- DataSource source = factory.newDataSource(in, bean);
- reader.parse(source);
如果把写作一次享用终生的代码(BeanMetadataReader)算作框架,那上面的代码加上XSLT就是全部的应用代码。
EndPoint里的object:java.beans.Beans只是一个标识,是URN,不是URL,表示输入是一个咖啡豆。和我在以前文章里写得不太一样,改过了。
测试用的咖啡豆:
java 代码
- class Person
- {
- public Person() {}
- public Address getAddress() {return null;}
- public Date getDateOfBirth() {return null;}
- public String[] getEmailAddresses() {return new String[3];}
- public String getFirstName() {return null;}
- public String getLastName() {return null;}
- public boolean isMale() {return true;}
- public int getPinNumber() {return 1111;}
- }
-
- class Address
- {
- public String getAddressLine1() {return null;}
- public String getAddressLine2() {return null;}
- public String getState() {return null;}
- public String getTownship() {return null;}
- public String getZipCode() {return null;}
- }
附件是用于测试的XSLT,以及产生的Schema和测试网页的HTML。如果想要花哨的网页,只要修改XSLT就行了,甚至只要在XSLT里import一个js文件就可以了。
分享到:
相关推荐
-----------------------------------------------------我们经常要在网页看到一些动态更新的图片,最常见的莫过于股票的K线图,本文试图通过一个简单的实例,向大家展示如何通过JSP 调用Java Bean在网页上动态生成柱状...
在线设计的App模型可以一键生成Java源码,服务端生成Spring Boot工程源码,如果有页面模型,则生成静态html源码 页面可视化页面设计器,在线编辑页面,生成可以生成Vue源码 使用 点击进入Team IDE在线平台体验使用 ...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Apache Commons包中的一个,通过它可以很方便的解析xml文件生成java对象 aspectjrt.jar 和aspectjweaver.jar Annotation 方式实现 AOP commons-dbcp.jar commons-pool-1.2.jar DBCP数据库连接池 cglib-nodep-2.1_...
第5章 使用Java Servlet开发动态网页 65 5.1 Servlet的概念和生命周期 65 5.2 如何编写Servlet 67 5.3 使用Eclipse和Tomcat开发Servlet实例——输出字符串响应 72 5.4 小结 77 第6章 JSP——前后台更好地...
日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...
c. 页面调用Action请求,Action中注入WebService实例bean; Action对应方法直接调用第三方WebService的相关方法; d. 测试; 备注: 1. 步骤b,接口文件必须同包名同类名置于src目录下; 开发一个Action调用关联...
但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...
第5章 Java开发项目的软件测试工具——JUnit 68 5.1 软件测试简介 68 5.2 JUnit简介 68 5.2.1 JUnit的特点 69 5.2.2 JUnit的常用类和接口 69 5.3 在MyEclipse中设置JUnit 71 5.4 JUnit测试 72 5.4.1 JUnit测试用例 ...
日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...
修改了bean包的缺陷 完善了业务逻辑层和数据访问层之间的调用代码 找到了生成试卷的新思路并写出了:大型构造函数及其封装类 初步完成了学生端功能的(错题集、个人信息查询、个人成绩查询)servlet函数(自测尚未写...