`
360697589
  • 浏览: 20730 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

struts2 属性不用get set什么情况下不起作用

阅读更多
struts2 action中的属性中要写相对应的setXXx,getXXx方法才能接收到网页中传来的参数!

但属性没有写set get 方法,依然会注入值和取到值.

struts2 参数拦载器在注入值的时候,有两种机制,(调用ognl)

这是OgnlRuntime 类中一段源码 hasSetMethod( context, target, targetClass, name ) || hasField( context, target, targetClass, name );

他会先查看你的action 中有没有对应的方法,如果发现无此方法,他会利用第二种方法直接给属性覆值,而无需对应的set方法!(当然都是通过反射机制实现的)

如果action 中属性过多的话,我觉得就不用写set get 方法了


但是重点来了,什么情况下不适用呢,最近开发的时候发现项目里面的属性都不能用了,必须写get ,set了。

后来发现原来项目中加了切面拦截
@Aspect
@Repository
public  class SystemLogAspect

这个导致必须写 get set ,在此写给困惑的同学们
分享到:
评论

相关推荐

    Struts2属性文件详解

    指定了Struts 2生成URL时是否包含请求参数,可接受`none`、`get`和`all`三个属性值,分别对应于不包含、仅包含GET类型请求参数和包含全部请求参数。 #### struts.custom.i18n.resources 指定了Struts 2应用所需的...

    jQuery EasyUI与Struts2的整合—属性驱动篇

    jQuery EasyUI与Struts2 的整合—属性驱动篇 如果你是用模型驱动,或者是直接把属性写在action里面,你不会碰到我遇到的那么多问题。 但是你用模型驱动好吗,如果一个页面需要处理多个对象的时候怎么办。 如果你...

    Struts2中Action接收参数的方法

    2. 在 Model 类中,定义属性,例如 `userName`,并创建对应的 get 和 set 方法。 3. 在 Action 中,使用 Model 对象的属性接收参数,例如 `user.getUserName()`。 例如,在 Action 中定义了 `User` 对象,可以在 ...

    ActionForm里的get和set方法

    总结,ActionForm中的get和set方法在Struts框架中起着至关重要的角色,它们负责数据的接收、转换、传递和验证。理解这些方法的工作原理和用途,对于熟练掌握Struts框架以及构建高效、健壮的Web应用至关重要。随着Web...

    Migrating From Struts1 To Struts2

    ### 从Struts1迁移到Struts2 #### 引言 随着技术的发展与进步,Struts1作为曾经广泛使用的Web应用框架,逐渐被Struts2等新一代框架所取代。Struts2以其更加灵活的设计、丰富的特性以及更好的性能表现成为众多开发者...

    Struts2 S2-020在Tomcat 8下的命令执行分析1

    这段脚本通过反射API遍历对象的方法,寻找以"set"和"get"开头的方法,这些通常是JavaBean属性的setter和getter方法。脚本特别关注那些接受字符串、布尔值或整型参数的setter方法,因为它们可能是OGNL注入的潜在目标...

    struts2标签大全

    Struts2是一个强大的MVC框架,它极大地简化了Java Web应用程序的开发。在Struts2中,使用了一系列的标签库来增强JSP页面的功能,使得开发者可以更方便地实现业务逻辑与视图的分离,提高代码的可读性和可维护性。本篇...

    Struts2获取request的四种方式

    在这种方式下,我们不依赖于Struts2的依赖注入(IoC)。首先,我们需要从`ActionContext`中获取当前的上下文,然后通过上下文获取`HttpServletRequest`对象。以下是代码示例: ```java import ...

    struts2返回JSON数据的两种方式

    在本文中,我们将探讨两种在Struts2框架中返回JSON数据的方法。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端交互,尤其是在AJAX请求中。Struts2提供了一套方便的机制来支持JSON...

    Struts2页面取值总结

    - **传值至Action**: 使用`<input name="userName" type="text" ... />`,要求action中有对应的属性和`set/get`方法,或者通过`request.getParameter("userName")`获取值。 - **显示属性值**: `...

    struts2标签库

    ValueStack是Struts2框架中的核心概念,它是一个对象栈,包含了Action对象、模型对象以及不同作用域的固定名称对象(如#application、#session、#request等)。值栈使得标签库可以直接访问对象,而不需要在视图层和...

    struts2的实现文件上传的例子

    在Struts2中,可以使用`ServletActionContext.getRequest().getRealPath("/")`获取到应用的根目录,然后结合文件名保存文件。同时,我们需要记录文件的保存路径,以便后续访问。 接下来,我们要将文件路径存入MySQL...

    Struts2访问ServletAPI

    总之,Struts2提供了多种方式来访问Servlet API,方便开发者在MVC框架下进行更灵活的控制。选择哪种方式取决于具体的需求和项目结构。合理地利用这些方法,可以有效地提高代码的可维护性和灵活性。在实际开发中,应...

    struts2源码解析.pdf

    Struts2是一个流行的Java Web框架,它为开发者提供了一种结构化的MVC(Model-View-Controller)架构来构建应用程序。在"struts2源码解析.pdf"文档中,主要探讨了以下几个关键组件及其功能: 1. **ActionContext**:...

    STRUTS2获得作用域、参数响应对象及三种符号说明

    ### STRUTS2获得作用域、参数响应对象及三种符号说明 #### 一、概述 在Struts2框架中,为了更好地管理Web应用程序中的请求、会话和应用范围的数据,Struts2提供了一系列的工具和机制。这包括了对`RequestMap`、`...

    struts2框架面试题及答案02

    在Struts2框架中,通常情况下,Action对象会被设置为Root对象。 3. **上下文环境(Context)**:OGNL的上下文环境是一个Map结构,称为OgnlContext。它用于存储额外的信息,以便OGNL表达式能够访问这些信息。例如,在...

    Struts2中的参数传递

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

    jquery与struts2整合

    【jQuery与Struts2整合详解】 在Web开发中,jQuery是一个强大的JavaScript库,它简化了JavaScript的DOM操作、事件处理和Ajax交互。Struts2是一个流行的Java Web框架,用于构建MVC(Model-View-Controller)架构的...

    [百度安全中心博客-neobyte]Struts2 S2-020在Tomcat 8下的命令执行分析1

    脚本使用反射机制获取类的方法,并检查以“set”或“get”开头的方法,这些方法可能对应于对象的属性设置或获取。对于发现的这些属性,如果其类型为字符串、布尔值或整型,脚本会尝试访问并输出它们,以便于分析。 ...

    Struts2使用Annotation返回Json

    Struts2是一个流行的Java web框架,它为开发者提供了一种结构化的MVC(Model-View-Controller)架构来构建应用程序。在Struts2中,使用注解(Annotation)可以简化配置,提高开发效率。本篇文章将深入探讨如何在...

Global site tag (gtag.js) - Google Analytics