`

Struts2 数据标签(二)输出转义的HTML格式

阅读更多
1.s:property标签概述
  s:property标签的功能就是输出数据,其属性及意义如下:
属性名默认值类型说明
DefaultStringvalue属性的值是null时的默认值
escapeTrueBoolean是否转义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

    标题 "XSS转码 && struts2 property标签的bug" 指向的是一个关于Web安全的话题,特别是针对Struts2框架的一个特定安全问题。XSS(Cross-site scripting)是Web应用中的常见安全漏洞,而Struts2是Java开发中的流行MVC...

    struts2教程+struts标签中文API

    1. **XSS防护**:Struts2内置了防止跨站脚本攻击(XSS)的机制,如自动转义输出内容。 2. **CSRF防护**:通过Token机制防止跨站请求伪造攻击,保护用户数据安全。 3. **权限控制**:Struts2的拦截器可以实现细粒度的...

    struts1标签库运用总结

    - `bean:write`:此标签用于输出属性的值,它会自动进行HTML转义以防止XSS攻击,但可以通过`filter`属性禁用这个特性。 - `bean:message`:这个标签与资源文件配合实现国际化,通过`key`属性引用资源文件中的特定...

    struts bean标签

    - **数据格式化**:`&lt;bean:format&gt;`标签可以用于格式化输出,比如日期、时间等。例如,`${myDate}" pattern="yyyy-MM-dd HH:mm:ss"/&gt;`将按照指定的日期格式显示myDate变量的值。 3. **标签详细解析** - `...

    Struts2教程-2(私塾在线)视频配套学习资料

    Struts2标签库大致分为四类:数据标签、控制流标签、UI标签以及杂项标签。 - **数据标签**:主要负责处理从值栈中提取数据和将数据设置到值栈中。 - **控制流标签**:用于控制程序的执行流程,例如循环和条件判断。...

    struts1标签struts1标签

    这里,`myBean`对象的`myProperty`属性值会被显示,且`filter`参数设为`true`表示输出的文本将经过HTML转义,以防止XSS攻击。 #### 4.1.4 消息资源(Message Resource) Struts1支持国际化(I18N),这意味着应用...

    07-01-Struts标签.pdf

    数据标签在Struts2中扮演着数据传输和处理的角色。 2. **控制标签**:控制标签用于控制程序的执行流程,比如执行条件判断和循环控制,它们类似于传统编程语言中的控制流语句。 3. **UI标签**:这类标签负责生成Web...

    struts2 OGNL之&lt;s:property&gt;标签访问值栈(value stack)用法

    `&lt;s:property&gt;`标签还有一些其他有用属性,比如`escape`(控制是否转义HTML实体),`cssClass`(添加CSS类)等,可以根据需要灵活运用。 通过以上介绍,你应该对Struts2中`s:property`标签访问值栈的用法有了深入...

    struts标签中文

    - **遍历中文集合**:如果有一个包含中文字符串的列表,如`List&lt;String&gt; names`,`&lt;s:iterator value="names"&gt;`可以遍历并显示每个元素,结合`&lt;s:property&gt;`标签输出中文内容。 4. **源码帝国中的示例** 在"源码...

    Struts的标签--实例

    - **功能描述**:`&lt;s:property&gt;` 标签是Struts2框架中的一个重要标签,主要用于输出值栈中的值。它非常适用于展示从后端传来的数据。 - **属性介绍**: - **default**:当指定的值为空(null)或不存在时,可以设置...

    jsp+struts2+mysql实现登录

    包括但不限于:防止SQL注入(使用预编译的SQL语句或ORM框架)、密码安全存储(哈希加盐)、XSS攻击防护(转义输出内容)、CSRF攻击防护(使用令牌验证)等。 9. **异常处理**: 应对可能出现的错误和异常,如数据库...

    Struts详细资料整理

    - 属性过滤:可以通过`filter`属性控制是否转义HTML实体。 - 格式化输出:可以指定`format`属性来格式化输出的日期或数字。 2. **Logic标签** - `&lt;logic:empty&gt;` / `&lt;logic:notEmpty&gt;`:用于检查变量是否为空。 ...

    struts 1 源码分析

    - 防止XSS攻击:使用html标签库,可以自动对输出内容进行转义。 - CSRF防护:通过Token机制防止跨站请求伪造。 - 输入验证:ActionForm的验证机制有助于防止恶意数据注入。 以上是对Struts 1.2源码分析的关键点...

    自己动手写Struts.pdf

    - **编写输出HelloWorld的JSP文件HelloWorld.jsp**:创建一个简单的JSP文件,在其中使用`标签输出“HelloWorld”。 - **运行JSP并查看输出结果**:在Tomcat中部署并运行该JSP文件。 - **使用Servlet实现Hello...

    WebWork标签手册

    - **escape**:布尔类型,决定输出的内容是否需要进行HTML转义处理,防止XSS攻击。 ##### set标签:值栈中的变量赋值专家 - **功能**:允许开发者对值栈中的表达式进行求值,并将结果赋给特定作用域内的变量。 - ...

    java-struct开发

    #### 二、Struts2标签库概述 Struts2标签库包括以下几种类型: 1. **数据标签**:用于处理值栈中的数据读取和写入操作。 2. **控制流标签**:用于控制程序的执行流程,如循环和条件判断等。 3. **UI标签**:用于...

    freemarker中文手册

    2. 日期和数字格式化:使用`&lt;@fmt.dateFormat&gt;`和`&lt;@fmt.numberFormat&gt;`进行格式化输出。 3. 国际化支持:通过`&lt;#t&gt;`标签支持多语言切换。 总之,Freemarker是一个强大且灵活的模板引擎,它简化了动态内容生成的...

    freemarker语法.pdf

    通过以上介绍可以看出,FreeMarker提供了一套完整且强大的模板语言,不仅可以方便地输出各种数据类型的内容,还可以灵活地进行条件判断、循环迭代等操作,非常适合用于动态生成HTML页面或其他格式的文档。

    json-taglib0.4.1jar包

    2. **属性输出**:`&lt;json:property&gt;`标签用于输出JSON对象中的某个属性值,这对于展示复杂数据结构非常有用。 3. **数组和集合处理**:`&lt;json:array&gt;`和`&lt;json:iterator&gt;`标签可以帮助处理JSON对象中的数组或集合,...

Global site tag (gtag.js) - Google Analytics