property标签用于取得value的属性值。
1.显示Action中的属性值:<s:property value="属性名" />
2.显示字符串,使用单引号:<s:property value="'字符串'" />
3.显示默认值,Action中找不到指定的属性时,显示default属性的值:<s:property value="属性名" default="默认值" />
4.解析HTML字符串,escape默认值为true,直接输出字符串,escape设为false时,解析HTML字符串:<s:property value="'<font color=\"red\">Red</font>'" escape="false" />
实例:
web.xml:
01.
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
02.
<
web-app
version
=
"2.5"
07.
<
welcome-file-list
>
08.
<
welcome-file
>hello.jsp</
welcome-file
>
09.
</
welcome-file-list
>
10.
<
filter
>
11.
<
filter-name
>struts2</
filter-name
>
12.
<
filter-class
>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</
filter-class
>
13.
</
filter
>
14.
<
filter-mapping
>
15.
<
filter-name
>struts2</
filter-name
>
16.
<
url-pattern
>/*</
url-pattern
>
17.
</
filter-mapping
>
18.
</
web-app
>
struts.xml:
01.
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
02.
<!DOCTYPE struts PUBLIC
03.
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
05.
06.
<
struts
>
07.
<!--
08.
<
constant
name
=
"struts.enable.DynamicMethodInvocation"
value
=
"false"
/>
09.
<
constant
name
=
"struts.devMode"
value
=
"false"
/>
10.
11.
<
include
file
=
"example.xml"
/>
12.
13.
14.
15.
<
package
name
=
"default"
namespace
=
"/"
extends
=
"struts-default"
>
16.
<
default-action-ref
name
=
"index"
/>
17.
<
action
name
=
"index"
>
18.
<
result
type
=
"redirectAction"
>
19.
<
param
name
=
"actionName"
>HelloWorld</
param
>
20.
<
param
name
=
"namespace"
>/example</
param
>
21.
</
result
>
22.
</
action
>
23.
</
package
>
24.
-->
25.
26.
27.
<
constant
name
=
"struts.devMode"
value
=
"true"
/>
28.
<
constant
name
=
"struts.i18n.encoding"
value
=
"GBK"
/>
29.
<
package
name
=
"user"
namespace
=
"/"
extends
=
"struts-default"
>
30.
<
action
name
=
"user"
class
=
"cn.edu.ahau.mgc.struts2.action.UserAction"
>
31.
<
result
>/addSuccess.jsp</
result
>
32.
</
action
>
33.
</
package
>
34.
</
struts
>
UserAction.java:
01.
package
cn.edu.ahau.mgc.struts2.action;
02.
03.
import
com.opensymphony.xwork2.ActionSupport;
04.
05.
public
class
UserAction
extends
ActionSupport {
06.
07.
private
String userName;
08.
09.
10.
public
String execute() {
11.
return
SUCCESS;
12.
}
13.
14.
public
String getUserName() {
15.
return
this
.userName;
16.
}
17.
18.
public
void
setUserName(String userName) {
19.
this
.userName = userName;
20.
}
21.
22.
}
index.jsp:
01.
<%@ page language="java" pageEncoding="GB18030"%>
02.
<%
03.
String path = request.getContextPath();
04.
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
05.
%>
06.
07.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
08.
<
html
>
09.
<
head
>
10.
<
base
href="<%=basePath%>">
11.
12.
<
title
>Property</
title
>
13.
<
meta
http-equiv
=
"pragma"
content
=
"no-cache"
>
14.
<
meta
http-equiv
=
"cache-control"
content
=
"no-cache"
>
15.
<
meta
http-equiv
=
"expires"
content
=
"0"
>
16.
<
meta
http-equiv
=
"keywords"
content
=
"keyword1,keyword2,keyword3"
>
17.
<
meta
http-equiv
=
"description"
content
=
"This is my page"
>
18.
<!--
19.
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"styles.css"
>
20.
-->
21.
</
head
>
22.
23.
<
body
>
24.
<
a
href
=
"user?userName=magci"
>user?userName=magci</
a
><
br
/>
25.
</
body
>
26.
</
html
>
addSuccess.jsp:
01.
<%@ page language="java" pageEncoding="GB18030"%>
02.
<%@ taglib uri="/struts-tags" prefix="s" %>
03.
<%
04.
String path = request.getContextPath();
05.
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
06.
%>
07.
08.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
09.
<
html
>
10.
<
head
>
11.
<
base
href="<%=basePath%>">
12.
13.
<
title
>Property</
title
>
14.
<
meta
http-equiv
=
"pragma"
content
=
"no-cache"
>
15.
<
meta
http-equiv
=
"cache-control"
content
=
"no-cache"
>
16.
<
meta
http-equiv
=
"expires"
content
=
"0"
>
17.
<
meta
http-equiv
=
"keywords"
content
=
"keyword1,keyword2,keyword3"
>
18.
<
meta
http-equiv
=
"description"
content
=
"This is my page"
>
19.
<!--
20.
<
link
rel
=
"stylesheet"
type
=
"text/css"
href
=
"styles.css"
>
21.
-->
22.
</
head
>
23.
24.
<
body
>
25.
User Add Success! <
br
/>
26.
显示Action中的属性值: <
s:property
value
=
"userName"
/><
br
/>
27.
显示字符串: <
s:property
value
=
"'userName'"
/><
br
/>
28.
Action中找不到指定的属性时,显示默认值: <
s:property
value
=
"admin"
default
=
"默认值"
/><
br
/>
29.
解析HTML字符串: <
s:property
value
=
"'<font color=\"
red\">Red</
font
>'" escape="false" /><
br
/>
30.
<
s:debug
></
s:debug
>
31.
</
body
>
32.
</
html
>
分享到:
相关推荐
这个问题涉及到XSS攻击的防范手段——转码,以及Struts2框架中property标签的潜在漏洞。 首先,我们来深入理解XSS攻击。XSS允许攻击者在用户浏览器中注入恶意脚本,这通常发生在网站未能充分过滤或转义用户输入的...
Struts2 标签库详解 Struts2 提供了一个强大的标签库,用于简化 Web 应用程序的开发过程。这些标签可以分为两类:通用标签和 UI 标签。下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来...
在Struts2框架中,标签库是其一大特色,它提供了丰富的自定义标签,使得开发者能够更加便捷地创建动态页面。这些标签极大地简化了JSP页面的编写,提高了代码的可读性和可维护性。 1. **Struts2核心标签库**: - `s...
在Struts2中,通常实体类对应数据库中的表,用于封装业务对象。EntityStore可能涉及数据访问层的设计,如Hibernate或MyBatis的集成,用于CRUD(创建、读取、更新、删除)操作。 总的来说,这个教程应该会涵盖Struts...
在使用 Struts2 标签前,需要在 JSP 页面引入标签库,并在 web.xml 中声明要使用的标签。 property 标签 property 标签用于输出指定的值,例如输出用户的名称、年龄等信息。property 标签可以访问某一个包的类的...
### Struts2中Iterator标签的深入解析与应用 在Struts2框架中,`<s:iterator>`标签是一个非常强大的工具,用于在JSP页面上循环遍历集合数据,如列表(List)、数组、Map等。它允许开发者以一种动态且灵活的方式展示...
本篇文章主要关注Struts2中的常用标签,这些标签大大简化了Web开发中的一些常见任务。 首先,我们要明白Struts2标签库与Struts1.x的不同之处。在Struts1.x中,标签库按照功能划分为HTML、Tiles、Logic和Bean等几个...
下面将详细解释如何在Struts2中设置循环标签的ID以及其工作原理。 首先,`s:iterator`标签的基本结构如下: ```jsp <!-- 迭代体内容 --> ``` 这里的`collectionName`是要迭代的集合对象,而`statusVariable`则...
Struts标签是Apache Jakarta Struts框架中的一部分,用于简化Java Web应用程序开发中的视图层构建。Struts标签库提供了一组预定义的JSP标签,这些标签有助于开发者更有效地处理常见的Web开发任务,如表单处理、数据...
本文将深入解析Struts2中的常用标签,这些标签在实际开发中非常实用,对于初学者理解并掌握Struts2的运行机制至关重要。 首先,我们需要了解Struts2标签库的主要组成部分,它们分为Action、Display、Logic、Field和...
Struts2标签库是Java开发Web应用程序时常用的一个强大工具,尤其在构建MVC(Model-View-Controller)架构的应用程序中发挥着重要作用。Struts2框架提供了丰富的自定义标签库,极大地简化了视图层的开发,使得开发者...
在Struts2中,标签库是其核心特性之一,它们为开发者提供了便利的方式来构建动态用户界面,无需深入HTML和JavaScript的底层细节。在本篇中,我们将深入探讨Struts2的标签应用及其在实际开发中的使用。 首先,了解...
在Struts2中,使用了一系列的标签库来增强JSP页面的功能,使得开发者可以更方便地实现业务逻辑与视图的分离,提高代码的可读性和可维护性。本篇文章将详细介绍Struts2中的各种标签及其应用。 1. **s:form标签**:这...
在Struts2中,`doubleselect`标签是一种非常实用的标签,主要用于创建两个级联选择框。这种标签允许用户在一个下拉列表中进行选择时,另一个相关的下拉列表会自动更新其选项。这对于处理多级数据结构,比如国家/省份...
中文版的`struts2-tags-API.chm`文件是Struts2标签库的详细文档,包含了每个标签的用法、属性、示例和注意事项。通过查阅这个手册,开发者可以更深入地理解如何在JSP页面上使用Struts2标签,提高开发效率和代码质量...
本手册详细介绍了Struts2中的各种标签及其在开发过程中的应用。 1. **简介** Struts2的标签库分为核心标签库、展示标签库、OGNL标签库等,它们提供了丰富的功能,如数据校验、国际化、条件判断、循环遍历等。这些...
在Struts2框架中,标签库是一系列预定义的JSP标签,它们提供了丰富的功能,如数据绑定、控制流、输入验证等,帮助开发者创建更加整洁、易于维护的代码。 Struts2标签库主要分为以下几个部分: 1. **核心标签(Core...
- **OGNL表达式**:在Struts2标签中广泛使用,可以用来访问Action的属性,如`s:property value="%{user.name}"`。 - **标签组合使用**:通过组合多个标签,可以实现复杂的业务逻辑和界面渲染。 6. **最佳实践** ...
在Struts2框架中,标签库是其核心特性之一,它提供了丰富的UI组件和控制逻辑,使得开发者可以更加便捷地进行页面渲染和交互处理。本文将深入探讨Struts2标签的中文文档,以及如何利用这些文档进行有效开发。 首先,...