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

struts2 action 属性不写 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 方法了


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cf1983/archive/2009/08/07/4422906.aspx
分享到:
评论
2 楼 龙碧云 2016-08-02  
写的好
1 楼 wait10000y 2010-08-27  
webwork 这样做就不行了.

现在都转向struts2了.谁让人家是大腕家的呢.

相关推荐

    Struts2中Action接收参数的方法

    Struts2 框架中,Action 组件可以通过多种方式接收参数,这些方式包括使用 Action 的属性、使用 DomainModel 和使用 ModelDriven。下面将详细介绍这些方法: 使用 Action 的属性接收参数 在 Struts2 中,可以使用 ...

    Struts2属性文件详解

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

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

    如果你直接把属性写在action里面,当一个对象有20个属性的时候,你获取了属性还要set到对象里面去。20个属性,20个get/set方法。20行调用set方法。你的action还能看吗. 这个demo使用jquery来序列化表单。使用jquery...

    Struts2在Action中获得Response对象的四种方法

    Struts2获得Response对象的四种方法 Struts2 是一个基于MVC 模式的 Web 应用程序框架,它提供了多种方式来获取 Response 对象,以下是四种获得 Response 对象的方法: 方法 1:使用 Struts2 Aware 拦截器 在 ...

    Migrating From Struts1 To Struts2

    2. **学习Struts2基础知识**:熟悉Struts2的基本概念、架构设计和核心组件,如Action、配置文件等。 3. **重构Action类**:将Struts1中的ActionForm类重构为Struts2的Action接口实现。需要注意的是,Struts2的Action...

    Struts2的Action中获得request response session几种方法

    在Struts2框架中,Action类是处理用户请求的核心组件,它负责业务逻辑的执行以及与视图层的交互。为了使Action能够访问到HTTP请求(HttpServletRequest)、响应(HttpServletResponse)、会话(HttpSession)等关键...

    ActionForm里的get和set方法

    2. **get和set方法的作用** - **set方法**:在用户提交表单后,Struts框架会自动遍历请求参数,对每个找到的参数调用ActionForm实例上的对应set方法。例如,如果表单中有名为`username`的输入字段,Struts会调用`...

    struts2返回JSON数据的两种方式

    在Struts2的Action类中,通过`HttpServletResponse`对象的`getWriter().print()`方法直接写入JSON字符串。这里创建了一个`JSONObject`和`JSONArray`,并将数据转换成字符串返回。注意,Action方法的返回类型应设为`...

    struts2标签大全

    13. **s:action标签**:执行一个Struts2 Action,可以嵌套其他Struts2标签,实现动态内容生成。 14. **s:include标签**:包含其他JSP页面,类似于JSP的,但支持动态参数传递。 15. **s:url标签**和**s:a标签**:...

    struts2之Action访问Servlet API

    Struts2 访问 Servlet API 方法总结 Struts2 框架提供了多种方式来访问 Servlet API,包括使用 ActionContext 类、实现接口和使用 ServletActionContext 类等。在本文中,我们将详细介绍 Struts2 访问 Servlet API ...

    struts2源码解析.pdf

    - `ActionContext`是Struts2的核心上下文,它存储了与当前Action执行相关的所有信息,如请求参数、session数据等。 - `getContext()`方法用于获取当前线程中的ActionContext实例,这在处理请求时非常有用。 - `...

    Struts2页面取值总结

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

    Struts2获取request的四种方式

    在Struts2中,经常需要从Action类中获取请求(Request)和响应(Response)对象来处理用户请求和传递数据。本文将详细解释Struts2中获取Request对象的四种不同方式。 1. **Servlet不相关的非IoC取得Request等对象的...

    Struts2访问ServletAPI

    当一个请求到达服务器时,Struts2的过滤器(通常名为`FilterDispatcher`或`StrutsPrepareAndExecuteFilter`)会捕获这个请求,然后根据配置的Action映射决定执行哪个Action。在Action执行过程中,如果需要直接访问...

    Struts2使用Annotation返回Json

    在Struts2中,我们通常会用到`@Action`、`@Result`等注解来定义一个Action类和其结果。要返回JSON,我们需要引入Struts2的JSON插件。该插件提供了处理JSON输出的能力,使Action可以直接返回Java对象,而无需手动构建...

    struts2的实现文件上传的例子

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

    struts2+spring2+ibates

    整合步骤总结: 1、分别导入三个框架需要的包。 2、写pojo. 3、配置web.xml (分别配置sping,struts) ...6、在写action类里,对于要封装的值和对象,除了常数以外,记得SET和GET,不是会出现空指针。

    jquery与struts2整合

    Action类中需要覆盖setter方法以便Struts2能将表单数据绑定到这些属性上,并重写`execute()`方法来执行业务逻辑。 ```java public class MyAjaxAction extends ActionSupport { private String username; private...

    Jquery_Ajax_Struts2_Action_JSP_Json

    在Action类中,可以使用JSON插件(如Struts2的Struts2-Json-plugin)来解析JSON数据并将其绑定到Action的属性上。 3. Action执行业务逻辑后,生成新的JSON数据,使用JSON插件自动序列化为JSON字符串,然后通过`...

Global site tag (gtag.js) - Google Analytics