我们来看一个JavaBean
class Bond{
private String id;
private String name;
public void setId(String id){
this.id = id;
}
public String getId(){
return this.id;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
然后我们来看看对应的FieldMap如何描述:
FieldMap fm = new FieldMap("Bond").putField("id","060001").putField("name","06国债01");
看起来FieldMap简洁许多,毕竟一个是静态定义一个是动态构建,一个强类型一个弱类型。
假设现在要为Bond这个类型加入发行价格和发行日期这两个属性,这时候定义JavaBean时我们将会陷入一个考量,定义什么类型,比如发行日期我们定义Date呢还是字符串?价格定义double呢还是字符串?对于拿日期来做计算或比较的,显然定义Date更合理,如果拿来是显示的显然某种格式的字符串更合适。无论你怎么定义在遇到不同场景时,必然要来回折腾转换,极为不便。
那FieldMap如何处理这样的问题呢?
假设某个Field是发行日期,它的name是iDate,像下面这样我们拿到的是什么?
fieldMap.getField("iDate").getValue();
答案是构造这个FieldMap时放的什么值就是什么值,比如有可能是yyyyMMdd格式的日期字符串,有可能是java的Date类型,如果你仅仅调用getValue(),那么你得到的是当初放的那个值,但是因为你知道这个Field叫iDate,里面的值一定是个日期,所以你有时候说我希望要拿Date,有时候希望要拿某种格式的字符串。因此你不仅仅可以调用Field的getValue(),你还可以这样:
fieldMap.getField("iDate").getDateValue();
fieldMap.getField("iDate").getDateStringValue();
fieldMap.getField("iDate").getDateStringValue("yyyy/MM/dd");
第一个你将直接拿到Date类型,第二个你将拿到yyyy-MM-dd格式的字符串,第三个你将拿到你自定义格式的日期字符串,比如这里就是yyyy/MM/dd。
很明显看到这里我们发现FieldMap灵活便利的多,因为即使对于同一个类型,它也有很多不同的形式。
分享到:
相关推荐
2. **模板定义**:定义好静态页面的模板,即定义好页面的基本结构和样式。这部分内容可以在`JspToStaticHTMLTest`类中的`getHeadStr()`和`getTailStr()`方法中定义。 3. **内容填充**:将JavaBean中的数据填充到...
JavaBean 概念和使用 JavaBean 是一种 JAVA 语言写成的可重用组件。为写成 JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。...
- **使用DOM(Document Object Model)**:通过创建Document对象,遍历JavaBean的属性,然后创建Element节点和Text节点,构建XML文档结构。 - **使用JAXB(Java Architecture for XML Binding)**:JAXB是Java标准...
值JavaBean和工具JavaBean的区别 JavaBean是一种特殊的Java类,它具有封装数据和提供公共方法的功能。在Java开发中,JavaBean通常被分为两类:值JavaBean和工具JavaBean。理解这两者的区别对于Java开发者来说是非常...
JavaBean的主要目的是提高代码的可维护性和可扩展性,通常用于构建用户界面组件或者作为数据传输对象。在JavaBean中,动态调用方法是一种强大的功能,允许我们在运行时决定调用哪个方法,这主要通过Java的反射机制...
综上所述,"jsp+javabean构建的web工程"是一个基础但实用的Web开发模式,它通过明确的角色分工,实现了动态网页的高效开发和维护。在实际项目中,开发者需要理解和掌握JSP的语法、JavaBean的设计以及MVC模式的应用,...
我们可以根据需求构建一个基础的JavaBean类,然后通过反射动态地添加属性并生成getter和setter方法。 3. **使用ASM、ByteBuddy等字节码库**:这些库提供了更底层的字节码操作能力,可以直接生成Java类的字节码,...
JavaBean和JSP是Java Web开发...总结,JavaBean和JSP标准动作是构建动态Web应用的关键工具,它们使得数据管理和页面交互变得更加简洁高效。理解并熟练运用这些概念和机制,对于成为一名合格的Java Web开发者至关重要。
JavaBean简介 什么是JavaBean? JavaBean的三个组成部分 JavaBean的基本特征 BeanInfo接口 JavaBean的开发模式 使用JavaBean开发应用程序 EJB简介
本教程将聚焦于如何使用JavaBean来构建JSON,帮助开发者更好地理解和运用这一技术。 一、JSON与JavaBean JSON是一种文本格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,但并不...
JavaBean遵循特定的规范,使它们能够被其他Java应用或开发工具(如IDEs)识别、可视化和操作。JavaBean的主要目标是提供组件重用,简化开发过程,并促进软件的模块化。 标题"JAVABEAN"指的是这个项目或系统是基于...
综上所述,这个项目结合了JSP、JavaBean和数据库技术,通过动态生成和维护无限级树状菜单,为用户提供了一种直观、易用的导航方式。开发过程中,理解数据库设计、JavaBean的业务逻辑以及JSP页面的交互逻辑是非常关键...
JavaBean主要用于构建Java应用程序的可重用组件,特别是在JavaServer Pages (JSP) 和Enterprise JavaBeans (EJB) 中,它们作为数据容器来传递信息。 JavaBean的核心特性包括: 1. **公共属性**:JavaBean通过公共...
JavaBean 是Java编程中的一种惯用模式,它并不是一种严格的语法规范,而是一种设计标准,目的...通过JavaBean、类型转换、静态成员、final关键字、抽象类和接口的合理使用,开发者可以构建灵活、可扩展的Java应用程序。
在本示例中,“JavaBean创建和使用:计算器”是一个关于如何构建和运用JavaBean来实现一个简单的计算器功能的教学。我们将深入探讨JavaBean的特性、创建过程以及在实际应用中的使用方法。 首先,JavaBean遵循一定的...
在IT行业中,Web开发是一项核心技能,而JSP(JavaServer Pages)、JavaBean和Servlet是构建动态网站的重要技术。这个项目“JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能”提供了完整的源码,帮助我们深入...
4. 反射机制:JavaBean的属性、事件和方法可以通过反射API动态访问,增强了程序的灵活性。 使用JavaBean的场景: 1. MVC架构:在Model部分,JavaBean用于封装业务逻辑和数据,与View和Controller进行交互。 2. JSP...
本项目以“基于JavaBean和JSP模式的网上商城设计与实现”为主题,深入探讨了如何利用这两种核心技术构建一个功能完备、用户友好的在线购物系统。 JavaBean是Java编程语言中的一种组件模型,它提供了一种标准的方式...
JavaBean 和 JSP 中的标准动作学习
在Java开发中,JavaBean被广泛应用于构建组件、数据传输以及MVC(Model-View-Controller)架构中的模型部分。这个压缩包文件“javabean”很可能包含了多个JavaBean的源代码文件,让我们来深入探讨一下JavaBean的概念...