1.标签取值方式一
通过<s:property value="" />取值
当Action的valueStack中有该属性的值时,只需直接使用该属性的名字即可;
当Action的valueStack中没有该属性的值时,比如在session,application范围中的属性值时,需要加#或者#attr.;
例子:
假设某Action中有person成员变量,在application中存在company属性
那么我们可以通过以下方法取值:
<s:property value="person.name" />
<s:property value="#person.name" />
<s:property value="company.name" /> //无法取到,因为company不在action的valueStack中
<s:property value="#company.name" />
2.标签取值方式二
在任意的<s:/>标签内使用%{}来取值
当Action的valueStack中有该属性的值时,只需直接使用该属性的名字即可;
当Action的valueStack中没有该属性的值时,比如在session,application范围中的属性值时,需要加#或者#attr.;
例子:
假设某Action中有person成员变量,在application中存在company属性
<s:textfield name="person.name" value="person.name" /> //错误,value会直接显示person.name字样
<s:textfield name="person.name" value="%{person.name}" />
<s:textfield name="person.company.name" value="%{#company.name}" />
<s:textfield name="person.company.name" value="%{#attr.company.name}" />
3.获取JSP页面的request,session,application中的属性
在页面中可以这样获取:
<td>${applicateionScope.counter}</td>
<td>${sessionScope.counter}</td>
<td>${requestScope.counter}</td>
或者直接这样用:${属性} ${userBean.username}。userBean可以是request或session中的对象。
struts2中的Action代码中的内容为:
ActionContext ctx = ActionContext.getContext();
ctx.getApplication.put("counter",new Integer(5));
ctx.getSession.put("counter",new Integer(5));
ctx.put("counter",new Integer(5));
ctx.put就是直接设置request的值。
也可以使用以下方式获得request:
HttpServletRequest r = ServletActionContext.getRequest();
HttpServletResponse resp = ServletActionContext.getResponse();
struts2还提供了以下接口:
ServletContextAware:Action实现该接口,可以直接访问ServletContext。
ServletRequestAware:Action实现该接口,可以直接访问HttpServletRequest。
ServletResponseAware:Action实现该接口,可以直接访问HttpServletResponse。
分享到:
相关推荐
本文将深度解析Struts2框架中页面取值的多种方式及核心标签的使用技巧,帮助开发者更高效地进行页面与后台交互。 #### 页面取值的四种常见方法 1. **`<s:property>` 标签**: 此标签用于展示模型中的属性值。如`...
当Action的valueStack中有该属性的值时,只需直接使用该属性的名字即可; 当Action的valueStack中没有该属性的值时,比如在session,application范围中的属性值时,需要加#或 者#attr.;
总结来说,Struts2的国际化功能通过配置、JSP标签和Action类的方法协同工作,为多语言应用提供了一套完整的解决方案。开发者可以根据项目需求,灵活地定义和引用资源文件,以便在不同的语言环境中显示适当的文本。
这能帮助开发者避免手动记忆所有可能的标签、属性和它们的取值,提高开发效率并减少错误。 在`struts.xml`文件的开头,通常会看到如下DOCTYPE声明: ```xml <!DOCTYPE struts PUBLIC "-//Apache Software ...
在Struts2的标签库中,我们同样可以通过类似的语法来访问Value Stack中的数据,例如使用标签: ```xml [1].errors['house.title'][0]"/> ``` 这种语法中,"root"指的是Value Stack中的根元素,而"[1]"表示访问...
Struts2是Java Web开发中一个非常重要的框架,它基于MVC(Model-View-Controller)设计模式,为开发者提供了一种结构化、易于维护的Web应用开发方式。本笔记主要涵盖的是黑马程序员2016年推出的Struts2教程的前3天...
Struts2提供了`<s:date>`和`<s:property>`标签,配合资源文件中的格式设置,可以显示符合当地习惯的日期和数字。 7. **测试和优化**:完成上述配置后,可以通过更改浏览器的语言设置或者手动设置session中的语言...
其中,Struts2标签库(Struts2 Tags Library)是开发者常用的工具之一,它不仅简化了前端页面的开发工作,还提高了应用的性能与可维护性。本文将详细介绍Struts2.0标签库中 `$`, `#`, `%` 的使用方法及其区别。 ###...
### Struts2 标签库详解 #### 一、引言 随着Web应用程序的日益复杂化,框架在软件开发中的作用越来越重要。Struts2作为Java Web开发领域中一款非常流行的MVC框架,以其易用性和灵活性而著称。本教程旨在通过一系列...
### Struts标签手册详解 #### 一、Bean Tags:Bean操作与管理的基石 Bean Tags是Struts框架中用于处理JavaBean对象的核心组件,提供了创建、访问和操作bean的强大功能。这一系列的标签使得开发者能够更高效地在JSP...
Struts2标签库提供了丰富的标签来帮助开发者快速开发Web应用程序。标签库大致可以分为以下四类: 1. **数据标签**:这类标签主要用于从值栈(Value Stack)上取值或者向值栈赋值。数据标签在Struts2中扮演着数据...
本文将详细介绍 Struts 中 base 标签的 `target` 属性,这一属性对于控制页面元素在不同浏览器窗口或框架中打开的方式至关重要。 #### Struts Base 标签简介 在 Struts 中,`<s:base>` 标签是一个用于定义页面基本...
### JSTL、EL、ONGNL、Struts标签的区别与使用 #### 一、JSTL (JavaServer Pages Standard Tag Library) **定义**: JSTL 是一个由一系列标准标签组成的集合,这些标签可以帮助开发者简化 JavaServer Pages (JSP) ...
Struts2是一个经典的Java Web框架,它用于构建MVC(模型-视图-控制器)架构的应用程序。在复习Struts2的知识时,有几个关键点值得深入理解和掌握。 1. **Struts2常量配置**: - `struts.devMode`:这是一个用于...
在 Struts 中,标签库是视图层的重要组成部分,它提供了简化 JSP 页面编码的方式,使代码更加简洁易读。OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置 Java 对象的属性。 ### ...
在Web开发中,Ajax(Asynchronous JavaScript and XML)和Struts2框架结合使用能够实现异步数据交互,提高用户体验。本文将详细介绍如何在Struts2框架下利用Ajax技术为下拉框动态赋值,这是一个适用于所有下拉列表的...
其中,`<%@taglib uri="/struts-tags" prefix="s"%>` 这一行代码的作用是引入Struts2的标签库,并定义了一个前缀`s`来方便调用这些标签。 #### 示例代码解析 ```html <%@taglib uri="/struts-tags" prefix="s"%> ``...
6. Struts2的跳转方式:Action-->jsp:forward,默认(dispatcher);redirect:type="redirect";Action-->Action:forward:type="chain";redirect:redirectAction,namespace,actionName。 7. Struts2中的拦截...
`开头的标签,如`<s:form>`和`<s:property>`,用于Struts2框架中的表单处理和显示模型数据。 **四、有效表达式** EL表达式可以包含文字、操作符、变量和函数调用。 1. **文字**:包括布尔值、整数、浮点数、字符串...