`
pojo
  • 浏览: 24712 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

动态生成Java Bean测试页面

阅读更多

题目见是否有可以编辑java bean对象的通用web组件?

把这个需求当作习题做了一下,准确地说做了一半,从任意咖啡豆动态导出Schema和简单测试网页。就用我在《元数据、开放数据模型及动态系统--形而下学篇》描述的套路。另一半应该更容易。任何XML Parser都支持Validation,一般用XML/Schema的理由之一就是Validation的能力,所以Validation因该不是问题。

我为此写了一个BeanMetadataReader,和一个XSLT,然后就是:

java 代码
  1. EndPoint in = new EndPoint("object:java.beans.Beans");    
  2. in.setProperty("format""metadata");    
  3. EndPoint out = new EndPoint("file:///C:/hyperdigital/dataset/test-output/person.html");    
  4. String[] xslts = {"file:///C:/hyperdigital/dataset/test-output/bean-test.xslt"};    
  5.     
  6. DataPipeLineFactory factory = DataPipeLineFactory.newInstance();    
  7. XMLReader reader = factory.newDataPipeLine(in, out, xslts);    
  8. Person bean = new Person();    
  9. DataSource source = factory.newDataSource(in, bean);    
  10. reader.parse(source);    

如果把写作一次享用终生的代码(BeanMetadataReader)算作框架,那上面的代码加上XSLT就是全部的应用代码。

EndPoint里的object:java.beans.Beans只是一个标识,是URN,不是URL,表示输入是一个咖啡豆。和我在以前文章里写得不太一样,改过了。

测试用的咖啡豆:

 java 代码

 
  1. class Person    
  2. {    
  3.     public Person() {}    
  4.     public Address getAddress() {return null;}    
  5.     public Date getDateOfBirth() {return null;}    
  6.     public String[] getEmailAddresses() {return new String[3];}    
  7.     public String getFirstName() {return null;}    
  8.     public String getLastName()  {return null;}    
  9.     public boolean isMale() {return true;}    
  10.     public int getPinNumber() {return 1111;}    
  11. }    
  12.      
  13. class Address    
  14. {    
  15.     public String getAddressLine1() {return null;}    
  16.     public String getAddressLine2() {return null;}    
  17.     public String getState() {return null;}    
  18.     public String getTownship() {return null;}    
  19.     public String getZipCode()  {return null;}    
  20. }    

附件是用于测试的XSLT,以及产生的Schema和测试网页的HTML。如果想要花哨的网页,只要修改XSLT就行了,甚至只要在XSLT里import一个js文件就可以了。

 

分享到:
评论

相关推荐

    JSP调用Java Bean在网页上动态生成柱状图

    -----------------------------------------------------我们经常要在网页看到一些动态更新的图片,最常见的莫过于股票的K线图,本文试图通过一个简单的实例,向大家展示如何通过JSP 调用Java Bean在网页上动态生成柱状...

    ide:Team IDE是团队在线项目开发平台,项目成员无需在自己的计算机上安装开发环境,直接在Team IDE上进行源码编辑,使用Git管理源码版本,在线运行测试,部署项目等Team IDE提供App Designer插件,在线可视化编辑数据库,表,Dao,服务器,Bean,控制器等在线设计的App模型可以一键生成Java源码,服务端生成Spring Boot工程源码,如果有页面模型,则生成静态HTML源码页面可视化页面设计器,在线编辑页面,生成可以生成Vue

    在线设计的App模型可以一键生成Java源码,服务端生成Spring Boot工程源码,如果有页面模型,则生成静态html源码 页面可视化页面设计器,在线编辑页面,生成可以生成Vue源码 使用 点击进入Team IDE在线平台体验使用 ...

    java源码包---java 源码 大量 实例

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    java源码包2

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    JAVA上百实例源码以及开源项目

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    JAVA上百实例源码以及开源项目源代码

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    java源码包4

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    java源码包3

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    java开发常用jar包

    Apache Commons包中的一个,通过它可以很方便的解析xml文件生成java对象 aspectjrt.jar 和aspectjweaver.jar Annotation 方式实现 AOP commons-dbcp.jar commons-pool-1.2.jar DBCP数据库连接池 cglib-nodep-2.1_...

    从Java走向Java+EE+.rar

    第5章 使用Java Servlet开发动态网页 65 5.1 Servlet的概念和生命周期 65 5.2 如何编写Servlet 67 5.3 使用Eclipse和Tomcat开发Servlet实例——输出字符串响应 72 5.4 小结 77 第6章 JSP——前后台更好地...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...

    java命名规范 开发规范

    c. 页面调用Action请求,Action中注入WebService实例bean; Action对应方法直接调用第三方WebService的相关方法; d. 测试; 备注: 1. 步骤b,接口文件必须同包名同类名置于src目录下; 开发一个Action调用关联...

    java 面试题 总结

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    JAVA程序开发大全---上半部分

    第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测试用例 ...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...

    java在线考试系统.zip

    修改了bean包的缺陷 完善了业务逻辑层和数据访问层之间的调用代码 找到了生成试卷的新思路并写出了:大型构造函数及其封装类 初步完成了学生端功能的(错题集、个人信息查询、个人成绩查询)servlet函数(自测尚未写...

Global site tag (gtag.js) - Google Analytics