`
PV_love
  • 浏览: 30404 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2 ognl表达式 后台获取不到值

阅读更多
今天朋友请教一个struts2 以ognl方式上传的问题;刚开始我写了一个很正常,然后拿到他的部分源码进行修改,也陷入了同样的问题;

场景:
表单的一部分是
<input name="templateType.tableModel.pageSize" type="text"/>


一个Action里封装一个TemplateType实例,TemplateType有一个属性是TableModel的实例;TableModel又有个基本类型的pageSize;只要bean里面提供了get和set方法,提交上去后,struts的拦截器会自动将parameter封装进Action里面的对象的;但是templateType始终是null;

我自己写了两个测试用的User和Apple实例,运行良好;

这两套Action基本完全一致,后来想到是否是ognl有一些规范?网上没找到,最后将TemplateType和TableModel这两个实例都改写成小写的,运行成功,pageSize无所谓;

<input name="tt.pp.pageSize" type="text"/>


由此得出结论:使用ognl表达式,中间层的对象一定要小写才行啊!!!
分享到:
评论

相关推荐

    Struts2_OGNL

    Struts2通过整合大量的标签库、提供丰富的插件支持以及强健的后台处理逻辑,为企业级Web应用开发提供了便利。OGNL(Object-Graph Navigation Language)是Struts2框架中的一个重要组件,用于在Web应用中访问和操作...

    对 Struts2 OGNL 的分析与简介

    在Struts2框架中,OGNL主要负责视图层与模型层之间的数据传递,使得开发者能够轻松地将后台的数据渲染到前端页面上。 在Struts2中,OGNL的主要用途包括: 1. **Action属性访问**:开发者可以通过OGNL表达式在...

    Struts2 OGNL调用公共静态方法详细介绍

    总的来说,Struts2的OGNL调用公共静态方法是一项实用的功能,它可以方便地将后台代码集成到视图中,提高代码复用性。但是,需要注意的是,过度依赖静态方法可能会导致代码耦合度增加,不利于测试和维护。因此,建议...

    留言板留言板struts2留言板struts2

    5. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为默认表达式语言,用于在Action和视图之间传递数据。通过OGNL,可以在JSP页面中直接访问Action中的属性,或者在Action中动态设置模型数据。 6. ...

    Struts2-网上投票系统

    在JSP页面中,我们可以直接使用OGNL表达式来获取Action中的属性值并显示。 5. **用户注册与登录**:系统需要一个用户注册和登录模块,这通常涉及到数据库操作,如用户信息的存储和验证。Struts2可以与DAO(Data ...

    OGNL教程.docx

    3. 实现Web组件与后台Model对象的绑定,如在Struts2、Tapestry和WebObjects中。 4. 替代Jakarta Commons BeanUtils或JSTL中的表达式语言,提供更强大的功能。 OGNL表达式通常非常简单,它们基于“导航链”操作,...

    STRUTS2优缺点

    - **OGNL 表达式语言:**STRUTS2 使用 OGNL (Object Graph Navigation Language) 作为其核心表达式语言,这使得页面中的数据访问更加简洁、高效。 **6. 视图层技术:** - **ValueStack 的引入:**STRUTS2 引入了 ...

    struts2技巧,笔记.zip指定404,500页面 utf-8过滤器 防SQL注入 解决乱码

    当数据传递到后台时,Struts2的拦截器会进行一些基本的数据验证和清理,减少SQL注入的风险。此外,使用预编译的SQL语句(如PreparedStatement)也是防止SQL注入的有效手段。 4. **Struts2的utf-8过滤器**: Struts...

    OGNL网上资料整理

    在生产环境中,需要注意OGNL表达式的安全问题,防止恶意用户通过OGNL注入攻击。Struts 2提供了一些配置选项和过滤机制来增强安全性。 四、学习资源与实践 4.1 文档与教程 网上有许多关于OGNL的官方文档和教程,如...

    struts2配置示例

    3. **OGNL表达式**:OGNL是Struts2中的默认表达式语言,用于访问和操作对象的属性。在示例中,OGNL可能用于将表单数据绑定到Action类的属性,或者在JSP页面中显示数据。例如,`${user.username}`可以获取User对象的...

    Struts2框架安全缺陷.pdf

    2. **安全配置**:调整Struts2的配置,禁止不安全的OGNL表达式,限制Action方法的直接访问,启用输入验证和过滤。 3. **参数验证和过滤**:对所有用户输入进行严格的验证和过滤,确保只有合法的数据被传递到后台...

    ognl-3.0.21.jar ognl.jar

    OGNL是一种强大的表达式语言,广泛用于Java应用程序,尤其是Web开发框架如Struts 2中,用于在模型、视图和控制器之间绑定数据和控制流程。 **OGNL简介** OGNL(Object-Graph Navigation Language)是一种强大的...

    struts2的相关包

    在Struts2中,OGNL作为默认的数据绑定和表达式语言,用于在Action和视图之间传递数据,以及在拦截器中进行复杂的条件判断和操作。 5. **commons-logging-1.0.4.jar**:Apache Commons Logging是一个日志抽象层,...

    struts2的jar包

    5. **ognl.jar**:Object-Graph Navigation Language,Struts2使用OGNL作为表达式语言,用于在Action和JSP之间传递数据。 6. **freemarker.jar** 或 **velocity.jar**:这两个是模板引擎,用于生成动态HTML页面。 ...

    struts2.jar

    在Struts2中,OGNL用于Action属性的访问和传递请求参数到Action。 `commons-io-1.3.2.jar`是Apache Commons IO库,提供了一系列与I/O相关的实用工具类,如文件操作、流操作等,对Struts2处理文件上传等操作起到支持...

    Struts2中关于ValueStack的一些操作

    2、 EL,全称Express Language,即表达式语言。不要被语言吓倒,它是简单的对象导航语言。有字符串(例如:方法名)和特殊字符组成(例如用.表示调用对应的属性方法)。通过EL,我们可以存、取对象数据,而且还可以...

    Struts2 part6:数据校验

    这通常涉及到使用OGNL表达式和ActionContext的交互。 7. **异常处理**:在服务器端校验过程中,如果出现未捕获的异常,Struts2会自动转换成一个特定的ActionError并添加到错误列表中,以保持应用的健壮性。 通过...

    dwr+struts2+jpa推送完整实现

    Struts2集成了许多其他优秀的框架,如OGNL(Object-Graph Navigation Language)表达式语言,拦截器,以及插件系统,这些都极大地提高了开发效率和代码可维护性。 3. Java Persistence API (JPA) JPA是Java平台上的...

    struts2的必备开发包

    在Struts2中,OGNL用于传递请求参数到Action字段,以及在视图层从Action返回数据。它使得开发者能够方便地在Action和视图之间传递复杂的对象结构,增强了框架的灵活性和表达力。 5. **commons-logging-1.0.4.jar**...

    用 struts2 实现的图书管理系统

    此外,Struts2还支持OGNL(Object-Graph Navigation Language)表达式语言,使得在页面中动态地访问和操作Java对象变得简单。 总的来说,这个图书管理系统利用了Struts2的MVC模式,实现了用户界面与后台业务逻辑的...

Global site tag (gtag.js) - Google Analytics