1.当提交一个表单发送请求是struts就会生成一个valueStack(包括一个对象Stack(里面是action对象和属性)和一个map(request、session、context...)).
2.当返回到jsp页面的时候,查询 user =findValue("user");#user=map,get("user");#user.name=map.get("user").getName();
findValue()的查找循序
1.从对象Stack中查找对应的属性,从上向下查找,找到后返回。
2.如果没有从对象Stack中找到,则从map中找到对应的key值然后返回。
相关推荐
首先,理解Struts2的数据流向至关重要。一般来说,流程如下: 1. 用户通过浏览器发送请求到服务器,请求通常指向一个特定的JSP页面。 2. Struts2拦截这个请求,并根据配置的Action映射找到对应的Action类。 3. ...
6. **数据绑定(Data Binding)**:Struts2支持自动的数据绑定,将表单参数与Action或模型对象的属性进行映射,简化了数据的获取和设置。这在处理学生信息的增删改查操作时非常有用。 7. **JSP视图层**:虽然Struts...
此外,Struts2支持多种结果类型,如dispatcher(转发)、redirect(重定向)等,方便控制请求的流向。 在描述中提到了`jstl`标签库,JSTL(JavaServer Pages Standard Tag Library)是一套用于JSP页面的标准标签库...
2. **Result类型**:Struts2允许开发者定义多种结果类型,如Redirect、RedirectAction、Stream等,来控制请求的流向和响应的生成方式。 3. **Interceptor拦截器**:拦截器是Struts2的特色之一,它们在Action执行...
3. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为表达式语言,用于在Action和视图之间传递数据,提供灵活的数据绑定。 4. **Tiles插件**:用于创建复杂的布局,可复用的页面片段,便于构建...
5. **OGNL(Object-Graph Navigation Language)**:Struts2默认使用OGNL作为表达式语言,它允许在Action和视图之间方便地传递数据。例如, `${user.name}` 可以用来获取Action中的user对象的name属性。 6. **Tiles...
- **配置文件(struts.xml)**:定义了Action的映射、拦截器栈等,控制着请求的流向。 - **Result类型**:定义了Action执行后返回的结果页面或视图。 - **Interceptor(拦截器)**:用于增强Action执行前后的行为,...
描述中提到的“基于struts2的拦截器测试,实现了页面的跳转,中间过程的拦截”,这表明我们可能在创建一个测试场景,来验证拦截器如何控制请求的流向以及如何在特定的业务逻辑点进行干预。页面跳转通常是拦截器完成...
### Struts2框架核心概念与工作原理 #### 一、框架概述 Struts2是Apache组织维护的一个开源项目,它是Struts1的升级版本,在设计理念和技术实现上都有较大的改进。Struts2是一个基于MVC(Model-View-Controller)...
3. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为默认表达式语言,用于在Action与视图之间传递数据。学习如何使用OGNL表达式进行数据绑定和访问对象属性至关重要。 4. **过滤器与部署描述符**...
在数据验证方面,Struts2提供了一个简单的内置机制,允许在Action类或ActionForm对象上添加注解,或者在struts.xml配置文件中定义验证规则。这样,当用户提交的数据不符合预设规则时,框架会自动返回错误信息,防止...
2. **文章模块**:用户可以发布、编辑、删除自己的文章,Struts2控制请求流向,Spring Service处理业务逻辑,比如检查权限、更新状态,而Hibernate处理文章数据的CRUD操作。 3. **评论模块**:用户可以在文章下留言...
2. **OGNL(Object-Graph Navigation Language)**:在Struts2中,OGNL作为默认表达式语言,用于在Action和视图之间传递数据。你可以通过OGNL在JSP页面上直接访问Action中的属性,或者在Action中设置值,这大大简化...
6. **POJO数据绑定**: Struts2支持直接使用POJO对象来处理表单数据,Action中可以直接定义与表单字段同名的属性,Struts2会自动进行数据绑定,无需像Struts1那样使用`request.getParameter()`。如果有多条数据,可以...
4. **Action类与Result**:Struts 2中的Action类是业务逻辑的载体,书中会讲解如何创建和使用Action类,以及定义不同类型的Result来决定请求的后续流向。 5. **拦截器(Interceptors)**:Struts 2的拦截器是其强大...
5. **结果类型(Result Types)**:Struts2支持多种结果类型,如dispatcher(默认,用于转发到JSP页面)、stream(用于下载文件)和redirect(用于重定向到另一个URL)等,这些结果类型使得控制响应流向变得简单。...
描述中提到的"拦截器"是Struts2的核心特性之一,它可以拦截请求,进行预处理或后处理,甚至改变请求的流向。 Spring框架则是一个全面的企业级应用框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能。它能管理...
5. **OGNL(Object-Graph Navigation Language)**:OGNL是Struts2中用于表达式语言,用于在模型、视图和控制器之间传递数据,提供了强大的数据访问和操作能力。 6. **插件支持**:Struts2有许多社区开发的插件,如...