1.application对象:用于访问ServletContext,例如#application.userName或者#application['userName'],相当于调用ServletContext的getAttribute("username")。
2.session对象:用来访问HttpSession,例如#session.userName或者#session['userName'],相当于调用session.getAttribute("userName")。
3.request对象:用来访问HttpServletRequest属性(attribute)的Map,例如#request.userName或者#request['userName'],相当于调用request.getAttribute("userName")。
4.parameters对象:用于访问HTTP的请求参数,例如#parameters.userName或者#parameters['userName'],相当于调用request.getParameter("username")。
5.attr对象:用于按page->request->session->application顺序访问其属性。
6.
|--request
|--application
context -----|--OgnlValueStack root变量[action, OgnlUtil, ... ]
|--session
|--attr
|--parameters
注意:在Action中声明对象时,请不要命名为以上所列举出对象的名字的前三个字母打头!比如在Action中声明 private Apply app,该属性名就和application的前三个字母类似!
具体原因正在寻找..
分享到:
相关推荐
总结来说,`s:iterator`标签在Struts2中扮演了重要的角色,它使得遍历和操作集合数据变得简单而灵活,无论是基础的数组、列表,还是复杂的Map和对象属性,甚至是多个对应关系的列表,都能轻松处理。通过设置`value`...
4. <s:push value=""></s:push>-----value的值push到栈中,从而使property标签的能够获取value的属性 R: 1. 2. <s:radio list=""></s:radio>-----单选按钮 3. <s:reset></s:reset>-----重置按钮 S: 1...
- 如果 `value` 是数据栈中的 `java.util.Map` 对象,可以使用 `<s:iterator value="map" id="id" status="st">` 遍历,其中 `key` 和 `value` 通过 `status` 访问。 4. **遍历数据栈**: - 当 `value` 是 Action...
12. **s:debug标签**:在开发阶段非常有用,可以输出Action对象的详细信息,包括所有属性、值栈和session等。 13. **s:action标签**:执行一个Struts2 Action,可以嵌套其他Struts2标签,实现动态内容生成。 14. *...
在使用Struts2标签时,通常会结合Action类和模型数据,Action类处理业务逻辑,将结果放入值栈,而标签则从值栈中获取数据并显示在页面上。例如,`s:property`标签可以这样使用: ```jsp <s:property value="user....
在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于在值栈中获取和设置对象属性,以及执行各种操作。本篇文章将详细介绍如何在Struts2中使用OGNL标签。 OGNL作为Struts2的核心...
4. `<s:push>`:将值推入值栈,便于其他标签访问。 N. 功能按钮: 1. `<s:radio>`:创建单选按钮,通常与列表配合使用。 2. `<s:reset>`:创建重置按钮,清除表单数据。 3. `<s:select>`:创建单选选择框,可以是...
2. `<s:action>`:这个标签用于执行一个视图中的Action,它允许你在JSP页面中直接调用Action,无需通过HTTP请求。 3. `<s:actionerror>`:当Action中有错误信息时,此标签会将这些错误显示出来,方便用户查看。 4....
30. `<s:push>`:将一个值推入值栈,使得`<s:property>`等标签可以访问到。 31. `<s:radio>`:创建单选按钮。 32. `<s:reset>`:定义一个重置按钮,用于清空表单输入。 33. `<s:select>`:创建单选选择框,与`s:...
这样就能够在页面中使用`s`作为前缀来调用Struts2的标签。 2. **条件标签**: - **s:if**:用于执行基础的条件判断。其`test`属性是一个表达式,如果表达式结果为真,那么标签内的内容会被渲染。例如: ```jsp ...
此外,也可以指定数据栈中的Map对象,如`value="map"`,然后通过`key`和`value`属性分别输出键和值。`status`属性可以获取当前索引和其他状态信息。 4. **遍历复杂对象和属性** 当遍历包含复杂属性的对象时,可以...
35. `<s:push>`:将值推入值栈,以便后续标签访问。 36. `<s:radio>`:创建单选按钮。 37. `<s:reset>`:创建重置按钮,清空表单数据。 38. `<s:select>`:创建单选框或下拉菜单。 39. `<s:set>`:设置变量,可在...
12. **s:debug** - 用于调试,显示当前ActionContext中的所有信息,包括Action对象、值栈等。 通过熟练掌握这些常用的Struts2标签,开发者能够更加高效地构建Web应用的视图层,提高代码质量和可维护性。同时,...
- **Push标签**:`<s:push>`将对象推入值栈,这样在标签内部就可以直接访问对象的属性。 - **I18n标签**:用于国际化,提供多语言支持。 4. **UI标签**: - UI标签主要用于创建用户界面,如表单元素(`<s:...
此标签用于将值推入栈中,以便后续的标签可以访问。 **示例:** ```xml <s:push value="%{user.name}"> <s:property value="value"/> </s:push> ``` ##### 33. `<s:radio>` 和 `<s:radiolist>` 这些标签用于...
- **描述**:加载资源包到值栈中,使得 `<s:text>` 标签可以访问任何资源包的信息而不仅限于当前 action 关联的资源包。 - **参数**: - `name`:必需参数,资源包的类路径。 - `id`:可选参数,用于标识元素的 ID...
- **status**: 可选参数,如果设置了该参数,则会在每次迭代时压入一个 `IteratorStatus` 对象到栈中,用于获取当前迭代的状态信息。 **示例代码** ```html <%@taglib prefix="s" uri="/struts-tags"%> List...
3. 数据标签:显示或隐藏数据,如`s:property`用于显示Action对象的属性值,`s:debug`用于调试,显示所有可用的变量信息。 三、标签属性详解 每个Struts2标签都有一系列可配置的属性,例如: - `name`:与Action...
4. `<s:push value=""></s:push>` - 将值推入栈中,以便于`<s:property>`标签访问。 R部分: 1. `<s:radio list=""></s:radio>` - 单选按钮,用户只能选择一个选项。 2. `<s:reset>` - 重置按钮,清除表单中的所有...