题目见是否有可以编辑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在网页上动态生成柱状...
`main`方法用于测试,实际使用时,Java Bean通常不直接在主程序中运行,而是通过JSP或Servlet调用。 在JSP+Servlet+Java Bean的开发模式中,Servlet通常负责接收请求,处理业务逻辑,并调用Java Bean。Java Bean...
首先,`JSP`是Java的一种动态网页技术,它允许开发者在HTML页面中嵌入Java代码,从而实现动态内容的生成。JSP的主要优点在于它的视图层处理,可以将业务逻辑和展示逻辑分离,使得网页设计和后端开发可以独立进行。在...
1. **jsp(JavaServer Pages)**:是Java平台上的动态网页技术,它允许开发者在HTML代码中嵌入Java代码,实现网页的动态生成。在本项目中,jsp主要用于展示用户界面,处理用户的交互请求,并将数据显示在页面上。 2...
4. **JSP页面**: JSP(JavaServer Pages)是Java Web开发中的一种视图技术,用于生成动态网页内容。在这个场景中,动态Bean的数据会传递到JSP页面,然后使用EL(Expression Language)和JSTL(JavaServer Pages ...
在现代Web开发中,JSP(JavaServer Pages)和Servlet技术是构建动态网站的重要工具,它们与Java Bean和JDBC(Java Database Connectivity)相结合,可以创建功能强大的企业级应用。本项目是一个典型的“使用jsp+...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
如果应用使用了JSP(JavaServer Pages)或JSF(JavaServer Faces),文件上传的处理可以放在后台的Managed Bean中,而JSP或JSF页面负责显示表单和处理用户交互。 7. **文件大小限制**: 为了防止DoS攻击或过度...
Java面试测试题是评估应聘者Java技术能力的重要方式,涵盖了J2SE(Java标准版)、JSP、Servlet、Struts、Hibernate、Spring、EJB以及数据库等多个关键领域。以下是对这些知识点的详细解释: 1. **J2SE**: Java 2 ...
在线设计的App模型可以一键生成Java源码,服务端生成Spring Boot工程源码,如果有页面模型,则生成静态html源码 页面可视化页面设计器,在线编辑页面,生成可以生成Vue源码 使用 点击进入Team IDE在线平台体验使用 ...
**JSP(JavaServer Pages)**是Java平台上的动态网页技术,它允许开发者在HTML页面中嵌入Java代码,从而实现服务器端的动态内容生成。在JSP中,开发者可以使用JSP指令、脚本元素和JSP标签来编写页面逻辑。在JSP页面...
### Java Web 测试题解析及知识点详解 #### 题目背景 本套测试题旨在检验学生对Java Web基础知识的理解程度以及对Java编程语言的基本掌握情况。题目涵盖了Java语言的基础特性、面向对象的概念、基本数据类型操作、...
在本文中,我们将深入探讨如何使用S2SH(Struts2、Spring、Hibernate)框架,结合JFreeChart库和Ajax技术,动态生成统计图表。首先,我们需要理解这些组件的基本概念: **S2SH框架**: S2SH是Web开发中的一个流行...
- **Servlet**是一种基于Java的服务器端技术,用于动态生成Web页面。Servlet通过`init()`方法初始化,通过`service()`方法响应请求,并且可以在服务器关闭时调用`destroy()`方法来释放资源。 - **CGI**(通用网关...
使用`<jsp:setProperty>`和`<jsp:getProperty>`标签,JSP页面可以设置和获取Java Bean的属性值,实现数据的传递。例如,用户选择购买的书籍信息可以通过表单提交,然后在后台的Java Bean中处理这些数据。 4. **...
在IT行业中,"Servlet+jsp+Bean+DAO"是一种经典的Java Web开发模式,它涉及到的主要技术包括Servlet、JSP(JavaServer Pages)、JavaBeans(Bean)以及数据访问对象(DAO)。这一模式是构建动态Web应用的基础,让...
通过JSP,可以轻松地创建视图层,与后端Java逻辑进行交互,实现动态内容的生成。 2. **Servlet**:Servlet是Java Web应用中的服务器端组件,用于处理HTTP请求和生成响应。它们是JSP的基础,可以用来创建更复杂的...