1.s:property标签概述
s:property标签的功能就是输出数据,其属性及意义如下:
属性名 | 默认值 | 类型 | 说明 |
Default | — | String | value属性的值是null时的默认值 |
escape | True | Boolean | 是否转义HTML代码 |
value | <top of stack> | Object | 要输出显示的数据源 |
2.新建Action实例类:
package com.wl.data.tagsAction;
import com.opensymphony.xwork2.ActionSupport;
public class PrintHTML extends ActionSupport {
private String html;
public String getHtml() {
return html;
}
public void setHtml(String html) {
this.html = html;
}
@Override
public String execute() throws Exception {
html="<table border=2><tr><td>我的名字是:张三</td></tr></table>";
return "printhtml";
}
}
3.新建JSP页面
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
name的值是:
<s:property value="html" escape="true" />
<br/>
name的值是:
<s:property value="html" escape="false"/>
</body>
</html>
4.修改struts.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="Struts2.1" extends="struts-default">
<action name="printhtml" class="com.wl.data.tagsAction.PrintHTML">
<result name="printhtml">/dataTags/printhtml.jsp</result>
</action>
</package>
</struts>
5.运行结果

- 大小: 35 KB
分享到:
相关推荐
标题 "XSS转码 && struts2 property标签的bug" 指向的是一个关于Web安全的话题,特别是针对Struts2框架的一个特定安全问题。XSS(Cross-site scripting)是Web应用中的常见安全漏洞,而Struts2是Java开发中的流行MVC...
1. **XSS防护**:Struts2内置了防止跨站脚本攻击(XSS)的机制,如自动转义输出内容。 2. **CSRF防护**:通过Token机制防止跨站请求伪造攻击,保护用户数据安全。 3. **权限控制**:Struts2的拦截器可以实现细粒度的...
- `bean:write`:此标签用于输出属性的值,它会自动进行HTML转义以防止XSS攻击,但可以通过`filter`属性禁用这个特性。 - `bean:message`:这个标签与资源文件配合实现国际化,通过`key`属性引用资源文件中的特定...
- **数据格式化**:`<bean:format>`标签可以用于格式化输出,比如日期、时间等。例如,`${myDate}" pattern="yyyy-MM-dd HH:mm:ss"/>`将按照指定的日期格式显示myDate变量的值。 3. **标签详细解析** - `...
Struts2标签库大致分为四类:数据标签、控制流标签、UI标签以及杂项标签。 - **数据标签**:主要负责处理从值栈中提取数据和将数据设置到值栈中。 - **控制流标签**:用于控制程序的执行流程,例如循环和条件判断。...
这里,`myBean`对象的`myProperty`属性值会被显示,且`filter`参数设为`true`表示输出的文本将经过HTML转义,以防止XSS攻击。 #### 4.1.4 消息资源(Message Resource) Struts1支持国际化(I18N),这意味着应用...
数据标签在Struts2中扮演着数据传输和处理的角色。 2. **控制标签**:控制标签用于控制程序的执行流程,比如执行条件判断和循环控制,它们类似于传统编程语言中的控制流语句。 3. **UI标签**:这类标签负责生成Web...
`<s:property>`标签还有一些其他有用属性,比如`escape`(控制是否转义HTML实体),`cssClass`(添加CSS类)等,可以根据需要灵活运用。 通过以上介绍,你应该对Struts2中`s:property`标签访问值栈的用法有了深入...
- **遍历中文集合**:如果有一个包含中文字符串的列表,如`List<String> names`,`<s:iterator value="names">`可以遍历并显示每个元素,结合`<s:property>`标签输出中文内容。 4. **源码帝国中的示例** 在"源码...
- **功能描述**:`<s:property>` 标签是Struts2框架中的一个重要标签,主要用于输出值栈中的值。它非常适用于展示从后端传来的数据。 - **属性介绍**: - **default**:当指定的值为空(null)或不存在时,可以设置...
包括但不限于:防止SQL注入(使用预编译的SQL语句或ORM框架)、密码安全存储(哈希加盐)、XSS攻击防护(转义输出内容)、CSRF攻击防护(使用令牌验证)等。 9. **异常处理**: 应对可能出现的错误和异常,如数据库...
- 属性过滤:可以通过`filter`属性控制是否转义HTML实体。 - 格式化输出:可以指定`format`属性来格式化输出的日期或数字。 2. **Logic标签** - `<logic:empty>` / `<logic:notEmpty>`:用于检查变量是否为空。 ...
- 防止XSS攻击:使用html标签库,可以自动对输出内容进行转义。 - CSRF防护:通过Token机制防止跨站请求伪造。 - 输入验证:ActionForm的验证机制有助于防止恶意数据注入。 以上是对Struts 1.2源码分析的关键点...
- **编写输出HelloWorld的JSP文件HelloWorld.jsp**:创建一个简单的JSP文件,在其中使用`标签输出“HelloWorld”。 - **运行JSP并查看输出结果**:在Tomcat中部署并运行该JSP文件。 - **使用Servlet实现Hello...
- **escape**:布尔类型,决定输出的内容是否需要进行HTML转义处理,防止XSS攻击。 ##### set标签:值栈中的变量赋值专家 - **功能**:允许开发者对值栈中的表达式进行求值,并将结果赋给特定作用域内的变量。 - ...
#### 二、Struts2标签库概述 Struts2标签库包括以下几种类型: 1. **数据标签**:用于处理值栈中的数据读取和写入操作。 2. **控制流标签**:用于控制程序的执行流程,如循环和条件判断等。 3. **UI标签**:用于...
2. 日期和数字格式化:使用`<@fmt.dateFormat>`和`<@fmt.numberFormat>`进行格式化输出。 3. 国际化支持:通过`<#t>`标签支持多语言切换。 总之,Freemarker是一个强大且灵活的模板引擎,它简化了动态内容生成的...
通过以上介绍可以看出,FreeMarker提供了一套完整且强大的模板语言,不仅可以方便地输出各种数据类型的内容,还可以灵活地进行条件判断、循环迭代等操作,非常适合用于动态生成HTML页面或其他格式的文档。
2. **属性输出**:`<json:property>`标签用于输出JSON对象中的某个属性值,这对于展示复杂数据结构非常有用。 3. **数组和集合处理**:`<json:array>`和`<json:iterator>`标签可以帮助处理JSON对象中的数组或集合,...