`

提炼并修改的 jodd formTag

阅读更多
我是从 springside的文档中看的 jodd formTag 的
觉得很不错
立即就去下了一个来用
但是它的jar包含的内容比较多 很多我们用不上
我对他进行了提炼

同时增强了一些功能

1 现在不仅仅支持bean,还支持map了
2 jsp页面的表单区域名可以是标准的bean属性名了
(原先必须要大写字母开头)
大家说说 这里改为忽略大小写 会不会更好呢?

3 支持boolean类型的bean属性了 (以前不处理isXXX方法)
4 beans和scopes属性内的内容数量不一定非要匹配了
<jodd:form beans="bean1,bean2,bean3" scopes="session,request">
此时 bean2,bean3 都是从 request 中取
以前必须要写成
<jodd:form beans="bean1,bean2,bean3" scopes="session,request,request">
5 更主要的是 只要两个java文件就搞定




以下出自 SpringSide 手册

Jodd Form taglib 简介

Jodd Form的使用极其简单,因为太简单了,才会名不见经传而被我们选用,让我们罔顾各大Framework的Form Tag.

他只要把<form>的头尾以<jodd:form bean= "mybean">包住即可,就会自动绑定mybean的所有同名属性到普通html标记--input, selectbox, checkbox,radiobox.....在这些input框里不用再写任何代码

  可见,它的好处一是节约代码,二是保留了html版的form tag, 不需要用一套taglib来代替

  而且支持内嵌对象的绑定,如book.category.name。

比那些需要使用非纯html标记的<ww:input>,逐个绑定input框,select框的Form Tag,虽减了些许灵活性,但实在方便得太厉害。

如果属性来自于request,而不是某个java bean,写<jodd:form bean= "request">

jodd采用的是普通的bean反射,调用所有属性的toString()函数。

注意,jodd在html tag不含value="xxx"属性时才会自动绑定。如果某个input框你不希望jodd自动绑定,或者默认的toString()不能满足要求时,可以手工为该input框写上 value="xxxx",jodd看到你已经定义了属性值,就会自动绕开。

  • form.rar (4.9 KB)
  • 描述: 包名 类名大家自己重构一下吧
  • 下载次数: 385
分享到:
评论
13 楼 adam_zs 2013-03-08  
   
12 楼 xmlspy 2006-12-06  
问题解决了
可能是MultipartRequest有两个导致的冲突,把代码二改成这样就可以了:


Film film = new Film();
    BindException result = bindObject(request, film);


然后多部分请求改为:

import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;

    MultipartFile multipartFile = multipartRequest.getFile(parameterName);
11 楼 江南白衣 2006-12-04  
springside的版本达不到只要两个java文件的水平:)
10 楼 fins 2006-12-04  
之前我不知道 springside里已经提炼了这个jodd form
知道后 我就没在动过我自己写的这个jodd了

事实上我也不建议大家在使用我提炼的这个了
用springside那个吧

楼上的反映的bug在springside-jodd里也有吗??
9 楼 xmlspy 2006-12-03  
这个东东有问题的:
   如果在spring项目中,在spring配置文件中加入了

代码一:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>


并且在类中使用

代码二:
jodd.servlet.MultipartRequest mrequest = new jodd.servlet.MultipartRequest(request, "UTF-8");

    Film film = new Film();
    BeanUtil.load(film, mrequest);


这个时候,在tomcat中运行会导致cpu 100%,并且程序一直不停.

我用的是原始的包

不知是怎么回事

通过调试发现,代码一和代码而不能并存.
8 楼 江南白衣 2006-11-16  
可以绑定的,springside也做了个提炼,提炼为springside-joddform-2.0.jar

http://www.springside.org.cn/maven2/springside/springside/springside-joddform/2.0/springside-joddform-2.0.jar

还做了一些扩展,比如支持bean="request"
7 楼 fins 2006-11-15  
checkbox 和 radiobox 绑定不了?
还真没试验
有机会再完善一下 呵呵

确实可以用js
事实上我也用的是js 尤其一些复杂的表单有关联的 或者是有很多其他特殊性的

但是对于大多数form来说 这个还是够用而且好用的
6 楼 giscat 2006-11-15  
checkbox 和 radiobox 绑定不了,
其实数据绑定还可以在客户端进行,高起来也很爽的(虽然不大喜欢用JS)

5 楼 fins 2006-11-14  
呵呵 其实我也觉得这个小东西很有用
做"编辑"页面的时候超帅啊(尤其是没有使用el的话)

可不知道为什么 用的人这么少啊??


4 楼 giscat 2006-11-14  
大哥,你的玩样真他妈的爽,收集了,
狂赞一个
3 楼 jie_java 2006-11-14  
这个标签好像还是04年的吧,为啥好的表单标签都是很老的呢,不知道大家是除了使用struts的form标签外还使用什么样的form标签呢,哪个最好用呢?
2 楼 jie_java 2006-11-14  
这个标签好像还是04年的吧,为啥好的表单标签都是很老的呢,不知道大家是除了使用struts的form标签外还使用什么样的form标签呢,哪个最好用呢?
1 楼 jie_java 2006-11-14  
这个标签好像还是04年的吧,为啥好的表单标签都是很老的呢,不知道大家是除了使用struts的form标签外还使用什么样的form标签呢,哪个最好用呢?

相关推荐

    springside-joddform-2.0

    joddform-2.0”和描述中的“springside-joddform-2.0.zip”指的是一个开源项目或者软件库,它很可能是一个基于SpringSide框架的扩展,专注于处理Web表单的模块,利用了Jodd库的一个特定部分,可能是Jodd Form模块。...

    JODD工具包

    **优秀投稿动画奖励计划** 可能是鼓励社区成员贡献代码或文档的一种激励机制,通过这种方式,JODD项目能够持续发展并保持活力。 **file_id.diz** 是一个常见的文件标识文件,通常包含关于压缩包的简短描述或作者...

    jodd-core-5.1.6-API文档-中文版.zip

    赠送jar包:jodd-core-5.1.6.jar; 赠送原API文档:jodd-core-5.1.6-javadoc.jar; 赠送源代码:jodd-core-5.1.6-sources.jar; 赠送Maven依赖信息文件:jodd-core-5.1.6.pom; 包含翻译后的API文档:jodd-core-...

    Java常用工具包Jodd.zip

    Jodd 是一个开源的 Java 工具集, 包含一些实用的工具类和小型框架。简单,却很强大!Jodd = Tools IoC MVC DB AOP TX JSON HTML &lt; 1.5 MbJodd 被分成众多模块,按需选择,其中工具类模块有:jodd-core 一些工具类...

    Java常用工具包 Jodd

    Java常用工具包Jodd是一个强大的开源库,专为Java开发者设计,提供了许多实用的功能和类,以简化开发过程。这个工具包涵盖了多个领域,包括HTTP客户端、数据转换、日期时间处理、字符串操作、I/O流、线程管理、对象...

    jodd-http-3.7.1-API文档-中文版.zip

    赠送jar包:jodd-http-3.7.1.jar; 赠送原API文档:jodd-http-3.7.1-javadoc.jar; 赠送源代码:jodd-http-3.7.1-sources.jar; 赠送Maven依赖信息文件:jodd-http-3.7.1.pom; 包含翻译后的API文档:jodd-...

    jodd 完整包有测试例子

    深度拷贝允许创建一个与原对象属性完全相同的新对象,这对于避免在并发环境中修改原始数据非常有用。此外,BeanTool 还支持动态属性操作,可以方便地对未知属性进行操作。 2. **DB layer(数据库操作)** Jodd ...

    jodd全包带doc文档

    Jodd是一个普通开源Java包。你可以把Jodd想象成Java的"瑞士军刀",不仅小,锋利而且包含许多便利的功能。 Jodd 提供的功能有: 1. 提供操作Java bean, 2. 可以从各种数据源加载Bean, 3. 简化JDBC的接连与代码, ...

    jodd mvc截图教程

    Jodd MVC,全称为Jodd Model-View-Controller,是一个轻量级的Java Web应用程序框架,主要用于构建MVC风格的应用。这个框架源自Jodd库,它包含了一系列的Java工具...学习并掌握Jodd MVC,将有助于提升你的Web开发技能。

    Base64工具类 jar包 jodd-3.6.6

    在Jodd库中,Base64工具类通常位于`org.jodd.io`或`org.jodd.util`等包下,这些工具类可以帮助开发者方便地处理Base64编码和解码任务,比如将图片、文本或者其他二进制数据转换成Base64字符串,或者将Base64字符串...

    jodd-3.5.1

    Jodd 是一个 Java 的工具包和一个微型框架。Jodd 工具增强了 JDK 提供很多强大的功能,帮助你实现日常的一些开发任务,让代码更加可靠和健壮。而 Jodd 框架是一个轻量级的应用框架,紧缩但强大。设计遵循 CoC、DRY ...

    jodd-bean-5.0.13-API文档-中文版.zip

    赠送jar包:jodd-bean-5.0.13.jar; 赠送原API文档:jodd-bean-5.0.13-javadoc.jar; 赠送源代码:jodd-bean-5.0.13-sources.jar; 赠送Maven依赖信息文件:jodd-bean-5.0.13.pom; 包含翻译后的API文档:jodd-bean-...

    jodd-jar.zip

    jodd-bean-5.1.6.jar,jodd-bean-5.1.6-javadoc.jar,jodd-bean-5.1.6-sources.jar,jodd-core-5.1.6.jar,jodd-core-5.1.6-javadoc.jar,jodd-core-5.1.6-sources.jar,jodd-core-5.2.0.jar,jodd-http-5.2.0.jar,jodd-...

    jodd-all-3.9.1.jar

    Jodd是一个普通开源Java包。你可以把Jodd想象成Java的"瑞士军刀",不仅小,锋利而且包含许多便利的功能。 Jodd 提供的功能有: 1. 提供操作Java bean, 2. 可以从各种数据源加载Bean, 3. 简化JDBC的接连与代码, 4. ...

    jodd-core-3.7.1-API文档-中英对照版.zip

    赠送jar包:jodd-core-3.7.1.jar; 赠送原API文档:jodd-core-3.7.1-javadoc.jar; 赠送源代码:jodd-core-3.7.1-sources.jar; 赠送Maven依赖信息文件:jodd-core-3.7.1.pom; 包含翻译后的API文档:jodd-core-...

    jodd-core-5.1.6-API文档-中英对照版.zip

    赠送jar包:jodd-core-5.1.6.jar; 赠送原API文档:jodd-core-5.1.6-javadoc.jar; 赠送源代码:jodd-core-5.1.6-sources.jar; 赠送Maven依赖信息文件:jodd-core-5.1.6.pom; 包含翻译后的API文档:jodd-core-...

    jodd java工具类库,包括数据库mvc依赖注入等等

    jodd java工具类库,包括数据库mvc依赖注入等等

    jodd-http-3.7.1-API文档-中英对照版 (1).zip

    赠送jar包:jodd-http-3.7.1.jar; 赠送原API文档:jodd-http-3.7.1-javadoc.jar; 赠送源代码:jodd-http-3.7.1-sources.jar; 赠送Maven依赖信息文件:jodd-http-3.7.1.pom; 包含翻译后的API文档:jodd-...

    jodd-upload-3.7.1-API文档-中文版.zip

    赠送jar包:jodd-upload-3.7.1.jar; 赠送原API文档:jodd-upload-3.7.1-javadoc.jar; 赠送源代码:jodd-upload-3.7.1-sources.jar; 赠送Maven依赖信息文件:jodd-upload-3.7.1.pom; 包含翻译后的API文档:jodd-...

    jodd-upload-3.7.1-API文档-中英对照版.zip

    赠送jar包:jodd-upload-3.7.1.jar; 赠送原API文档:jodd-upload-3.7.1-javadoc.jar; 赠送源代码:jodd-upload-3.7.1-sources.jar; 赠送Maven依赖信息文件:jodd-upload-3.7.1.pom; 包含翻译后的API文档:jodd-...

Global site tag (gtag.js) - Google Analytics