`
YiSingQ
  • 浏览: 88151 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Struts2参数绑定

阅读更多

无论是将Action中的变量渲染页面中,或者从request中将内容回传到Action中变量的过程,统称参数绑定。  

   1. 最原始的Struts2会直接赋值Action中的变量。 如hello.action?id=1,会将action中的id属性赋值。
   2. 如果参数较多,而且都属于同一个对象的,可以将所有属性都放入一个对象中,比如hello.action?user.id
   会为action中的User对象的id属性赋值。
   3. ModelDriven接口,如果不想写太多"user."前缀,如${user.id},可以实现ModelDriven接口的getModel函数,
   返回user对象。则Struts2碰到{id}时,就会尝试调用getModel() 获得user对象再获取其id属性。
   4. Prepareable接口,还有一种情况Hibernate常用的情况,一个对象可能有很多属性(比如有10个属性),
   但页面上可能只显示5个属性的输入框。如果按上面的方法,先new一个User类,然后从页面上赋值。
   保存此对象时就会将不在页面上修改的5个属性清空了。这时就需要两次的binding,一开始user变量为空,
   只绑定了action的id属性,然后在prepare()函数中查出有完整10个属性的对象,然后二次绑定时再将页面的那5个属性
   复制到user对象中。
      prepare()函数有两种作用,一种专门为了二次binding,一种是作为公共的数据准备函数。但是,
      一个action内有多个method,不是每一个method都需要执行prepare,比如list()方法,如果这种method较多,
      或者会造成冲突时,还有另外一种方式来定义二次binding函数。比如prepareSave() 函数,就会默认的在执行save()
      前执行,此时,专门实现prePareMethodName() 方法再调度一个内部的prepare函数,而将prepare()函数留空。

 

分享到:
评论

相关推荐

    struts2 接收参数

    ModelDriven模式简化了Action类的编写,使得业务逻辑更专注于处理业务,而不是参数绑定。在这个例子中,可能讲解了如何创建Model对象,如何在Action中实现ModelDriven接口,以及如何在JSP页面中使用这些模型属性。 ...

    struts1.x 和 struts2.x向Action里填充jsp参数原理

    3. 拦截器链开始执行,其中的ParameterInterceptor负责将请求参数绑定到Action实例的属性上,使用OGNL(Object-Graph Navigation Language)表达式解析和设置属性。 4. 如果有自定义的验证拦截器,会在这个阶段执行...

    Struts2教学视频

    2. 域模型(Domain Model)是Struts2中用于封装业务数据的对象,Action可以直接引用域模型对象,将请求参数绑定到模型中。 以上就是关于Struts2的一些基础知识点,学习Struts2不仅可以帮助理解MVC模式在实际应用中的...

    Struts2接收参数

    此外,Struts2提供了一个强大的配置机制,可以在struts.xml或struts.properties文件中进行参数绑定、拦截器设置等。例如,你可以指定哪些请求应该映射到哪个Action,以及如何处理异常等。 ```xml ...

    struts1和struts2的区别

    - **Struts2**: 使用OGNL进行数据绑定,支持更高级的数据绑定操作。 #### 验证机制 - **Struts1**: 支持ActionForm的内置验证机制,并且可以通过Commons Validator进行扩展。 - **Struts2**: 提供了更强大的验证...

    留言板留言板struts2留言板struts2

    8. **表单处理**:Struts2提供了强大的表单处理能力,可以自动绑定请求参数到Action的属性,实现数据验证,并将错误信息回显到页面。 9. **异常处理**:Struts2通过全局异常映射(Global Exception Mapping)来统一...

    struts2的各种jar包

    3. **拦截器库**:`struts2-convention-plugin.jar`和`struts2-interceptor-plugin.jar`提供了多种内置拦截器,如Params拦截器处理参数绑定,Validation拦截器负责验证,以及Tiles拦截器用于页面布局。 4. **结果...

    struts2获取参数,解决乱码,跳转

    username=张三`时,Struts2会将`username`参数自动绑定到Action类的`username`属性上。 接下来,我们讨论如何解决Struts2中的乱码问题。在处理中文字符时,乱码是一个常见的问题。Struts2提供了多种方式来处理字符...

    马士兵Struts2笔记2013

    当用户提交表单时,Struts2框架会自动将请求参数绑定到Action的相应属性上,简化了数据的处理。 3. **Domain Model(实体模型)** Domain Model是一种设计模式,用于封装业务逻辑和数据。在Struts2中,你可以创建...

    springmvc入门参数绑定ssm整合

    SpringMVC入门参数绑定SSM整合 SpringMVC是一种基于MVC模式的Web应用程序框架,它是Spring框架的一个模块,用于开发Web项目。下面是SpringMVC入门参数绑定SSM整合的知识点总结: 一、SpringMVC概述 SpringMVC是...

    张龙圣思园struts2学习笔记word

    预设的拦截器如Params拦截器用于参数绑定,Validation拦截器进行字段验证,Exception拦截器处理异常。 此外,笔记可能还会介绍Struts2的插件系统,例如Struts2-convention-plugin,它可以自动根据类名和方法名来...

    struts2讲义 struts2讲义struts2讲义struts2讲义struts2讲义

    ### Struts2讲义知识点概览 #### 一、Struts2的历史与发展 - **Struts框架的发展历程**: - Struts最初版本发布于2000年,是Java Web开发领域的一个重要里程碑。 - 随着时间的发展和技术的进步,Struts逐渐暴露...

    Struts2框架 jar JAVA开发 Struts2.jar架包 Struts2开发实例

    常见的拦截器有Params(处理参数绑定)、Validation(进行数据校验)、Chain(维持请求链)等。开发者可以通过自定义拦截器来扩展框架功能,实现如日志记录、权限检查等功能。 **Struts2的标签** Struts2提供了丰富...

    struts2支持方法上传递参数

    当用户通过表单提交数据时,这些数据可以被Struts2自动绑定到Action方法的参数上。例如,假设我们有一个名为`UserAction`的类,其中有一个处理登录的方法`login(String username, String password)`,那么在界面中...

    struts2ajax项目

    此外,为了更好地展示数据,可能还需要在Struts2中使用Interceptor(拦截器),例如,`params`拦截器用于将请求参数绑定到Action,`validation`拦截器负责验证表单数据,`workflow`拦截器管理Action的生命周期。...

    Struts2中的参数传递

    在Struts2中,这些参数可以直接通过表单元素的`name`属性与Action类中的属性相匹配,无需额外配置即可实现自动绑定。 例如,下面的HTML代码展示了一个简单的表单,其中包含了一个文本框和一个下拉框,分别用于输入...

    struts2 表单数据绑定map、list等.rar

    当用户提交表单时,Struts2框架会自动将请求参数映射到Action类的相应字段,这被称为“自动数据绑定”。这个过程使得开发者能够轻松地处理表单提交的数据,而无需手动解析请求参数。 1. **Map数据绑定**: 在...

    深入浅出Struts2.pdf

    3. **Interceptor配置**: 定义拦截器链,如Params拦截器用于参数绑定,Validation拦截器进行表单验证。 **三、拦截器(Interceptors)** Struts2的核心特性之一,拦截器允许在Action执行前后插入额外的功能,如日志...

Global site tag (gtag.js) - Google Analytics