`
sillycat
  • 浏览: 2552338 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

spring mvc中使用jodd来绑定变量

    博客分类:
  • JAVA
阅读更多
spring mvc中使用jodd来绑定变量

到处都在推荐一个FORM绑定的东东jodd。不过我去官方主页上看了看,也下载了一个
发现有点复杂,也有点大。真的想springside说的那样,很多强大的东东,我们都没有用到
只是用了很少的一部分。所以我还是觉得springside上包装的那个东东好些,
先到http://sillycat.3adisk.com/上面把jodd的jar包下载过来。这个是经过springside简化过的,
比原始的jodd.jar要小很多

然后在taglibs.jsp中加入jodd的标签:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="jodd" uri="http://www.springside.org.cn/jodd_form" %>

在使用到jodd的页面上这样编写,userEdit.jsp:
<%@ include file="/template/jsp/include/taglibs.jsp"%>

<jodd:form bean="item" scope="request">
<form action="user.do?method=save" method="post">
<input type="hidden" name="id" />
<table width="300" border="0" cellspacing="0" cellpadding="0"
   align="center">
   <tr>
    <td height="32" align="right" width="107">
     name:
    </td>
    <td height="32" width="193">
     <input type="text" name="name" size="20">
    </td>
   </tr>
   <tr>
    <td height="69" align="center" colspan="2">
     <input type="submit" name="Submit" value="save">
     <input type="reset" name="Reset" value="cancel">
    </td>
   </tr>
</table>
</form>
</jodd:form>

在action中这样得到数据,参考UserController.java:
protected void onSave(HttpServletRequest request,
   HttpServletResponse response, ModelAndView mav, boolean isNew)
   throws Exception {
User user = new User();
BindingResult result = bindObject(request, user);
userManager.saveUser(user);
}

里面的bindOject(request,user)是springside上的BaseController.java里面的一个方法:
protected BindingResult bindObject(HttpServletRequest request, Object command) throws Exception {
        Assert.notNull(command);

        //创建Binder
        ServletRequestDataBinder binder = createBinder(request, command);
        //回调函数,供子类扩展对binder做出更进一步设置,并进行不能由binder自动完成的绑定
        preBind(request, command, binder);

        //绑定
        binder.bind(request);

        //校验
        Validator[] validators = getValidators();
        if (validators != null) {
            for (Validator validator : validators) {
                if (validator.supports(command.getClass())) {
                    ValidationUtils.invokeValidator(validator, command, binder.getBindingResult());
                }
            }
        }
        return binder.getBindingResult();
}

这样凡是jodd标签内部的input内容都可以绑定到action了。嘿嘿。注意数据类型哈。最好页面上都提交string过来了再动手转,
安全第一。

对了,页面回显的时候要注意:

html里面绑定的是<jodd:form bean="item" scope="request"> ,web层出来也要是这个。。。。才能正常回显

protected void onEdit(HttpServletRequest request,
   HttpServletResponse response, ModelAndView mav) throws Exception {
Integer id = new Integer(request.getParameter("id"));
User user = userManager.getUser(id);
mav.addObject("item", user);
}



分享到:
评论
1 楼 bblaiye 2012-05-10  
请问你有springside-joddform.jar包吗? 现在网上好像没得下了!
如果有麻烦你提供下载吧,谢了!

相关推荐

    jodd mvc截图教程

    在本教程中,我们将深入探讨Jodd MVC,特别是其子框架Madvoc。 Madvoc是Jodd MVC的核心部分,它提供了一种基于注解的路由和控制器方法映射机制,允许开发者以简洁的方式定义URL到具体处理方法的映射。Madvoc的设计...

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

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

    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;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    Java常用工具包Jodd.zip

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

    JODD工具包

    对于JODD来说,可能是Apache License 2.0或其他兼容的开源许可证,允许自由使用和修改代码。 **README.md** 文件是项目说明的常用格式,通常包含项目简介、安装指南、使用示例和贡献方式等信息。它是了解JODD工具包...

    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;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    Java常用工具包 Jodd

    Jodd的源码软件结构清晰,易于理解和扩展,对于想要深入学习Java编程和提高开发效率的开发者来说,Jodd是一个非常有价值的资源。通过研究和使用Jodd,你可以了解到如何设计高效、灵活的工具类库,同时也可以借鉴其...

    Jodd一套开源的Java微型的框架和大量的工具集

    在实际开发中,Jodd 可以作为独立的微框架使用,也可以与其他大型框架如 Spring、Hibernate 等配合,提供特定场景下的解决方案。通过深入理解和应用 Jodd,开发者可以构建出高效、简洁且易于维护的 Java 应用程序。...

    jodd全包带doc文档

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

    jodd-3.5.1

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

    Base64工具类 jar包 jodd-3.6.6

    "LICENSE" 文件包含了Jodd库的授权信息,可能是Apache 2.0、MIT或其他开源许可证,这决定了你如何可以在自己的项目中使用这个库。 "README.md" 文件通常是项目的说明文档,包含了项目介绍、使用方法、安装指南以及...

    Jodd工具集 v5.3.0.zip

    在Jodd v5.3.0版本中,这个开源项目继续优化了性能,增强了稳定性,并添加了一些新的特性,使其在Java开发中的适用性更加广泛。 首先,我们来看Jodd的核心模块——对象处理。Jodd提供了强大的POJO处理工具,如...

    jodd 完整包有测试例子

    在深入探讨 Jodd 的各项功能之前,我们先来了解一下它的核心组件。 1. **BeanUtil(BeanTool)** BeanTool 是 Jodd 中用于处理 Java Bean 的模块,它提供了诸如对象的深度拷贝、属性的设置和获取等功能。深度拷贝...

    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;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    jodd-all-3.1.0java开发工具包

    2. **MVC框架**:Jodd中的MVC框架,如Petite,提供了一种组织应用程序结构的方式,支持依赖注入,使得代码更易于测试和维护。Petite允许开发者定义bean和它们之间的关系,以及自动管理bean的生命周期。 3. **数据...

    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;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

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

    赠送jar包:jodd-core-3.7.1.jar; 赠送原API文档:jodd-core-3.7.1-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

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

    赠送jar包:jodd-core-5.1.6.jar; 赠送原API文档:jodd-core-5.1.6-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

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

    赠送jar包:jodd-http-3.7.1.jar; 赠送原API文档:jodd-http-3.7.1-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

    jodd-core-3.7.1.jar

    java运行依赖jar包

Global site tag (gtag.js) - Google Analytics