`
1028826685
  • 浏览: 938767 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类

jsp开发转义标签

    博客分类:
  • Jsp
阅读更多


<c:filterHTML>
<a href="">链接</a>
</c:filterHTML>


应用场景是需要对HTML进行一个转义显示源代码

实现步骤如下:

//注:下面filter方法可以再apache服务器中找到.
//\apache-tomcat-6.0.30\apache-tomcat-6.0.30\webapps\examples\WEB-INF\classes\util\HTMLFilter

第一步:编写一个标签处理器类

public class Transferred extends SimpleTagSupport{

public void doTag() throws JspException, IOException {

JspFragment body=getJspBody();
StringWriter sw=new StringWriter();
body.invoke(sw);

String content=sw.getBuffer().toString();
content=filter(content);

getJspContext().getOut().write(content);
}
public  String filter(String message) {

        if (message == null)
            return (null);

        char content[] = new char[message.length()];
        message.getChars(0, message.length(), content, 0);
        StringBuffer result = new StringBuffer(content.length + 50);
        for (int i = 0; i < content.length; i++) {
            switch (content[i]) {
            case '<':
                result.append("&lt;");
                break;
            case '>':
                result.append("&gt;");
                break;
            case '&':
                result.append("&amp;");
                break;
            case '"':
                result.append("&quot;");
                break;
            default:
                result.append(content[i]);
            }
        }
        return (result.toString());

    }
}
第二步:编写一个标签描述文件*.tld

<?xml version="1.0" encoding="UTF-8" ?>

<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
    version="2.0">
    <description>A tag library exercising SimpleTag handlers.</description>
    <tlib-version>1.0</tlib-version>
    <short-name>SimpleTagLibrary</short-name>
    <uri>http://www.liyong.costomtag</uri>
  
    <tag>
        <description>show client IP</description>
        <name>filterHTML</name>
        <tag-class>com.liyong.transferred.Transferred</tag-class>
        <!-- 标签体为空 这与传统标签同 empty -->
        <body-content>scriptless</body-content>
    </tag>
</taglib>

第三步:编写一个jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="http://www.liyong.costomtag" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'transferred.jsp' starting page</title>
  
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

  </head>
 
  <body>
//使用自定义过滤标签
<c:filterHTML>
<a href="">链接</a>
</c:filterHTML>
  </body>
</html>

第四步:测试...
分享到:
评论

相关推荐

    jsp页面java标签库

    JSP自带的核心标签库中,包含了许多用于简化Web开发的标签。这些标签极大地提高了开发效率,并且帮助开发者避免了在JSP页面中直接编写Java代码的复杂性。核心标签库中的标签通常分为不同的类别,包括动作标签、指令...

    jsp简单自定义标签的forEach遍历及转义字符示例.docx

    在Java Server Pages (JSP) 开发中,自定义标签是一种强大的功能,可以让开发者封装常用的代码块,提高代码复用性,并简化页面的编写。本文将详细介绍如何在JSP中创建自定义标签来实现`forEach`遍历以及如何处理转义...

    JSP标准标签库

    使用JSTL标签库能够提高JSP页面的可读性和维护性,避免在JSP页面中嵌入大量的Java代码,同时也可以利用JSTL提供的国际化标签库(i18n)进行本地化开发。 在JSTL的早期版本中,由于标签库的资源定位是通过硬编码的...

    jsp开发的jstl标签库

    JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中的一个重要工具,它提供了一组预定义的标签,用于简化JSP页面中的代码,提高可读性和可维护性。JSTL的核心在于它将业务逻辑和表现层分离,使得开发者...

    JSP标准标签库实例

    综上所述,JSTL通过提供一系列标准标签,极大地提升了JSP页面的可读性和维护性,降低了代码的复杂度,是JSP开发中的重要工具。理解并熟练掌握JSTL的各种标签,对于提高JSP应用程序的质量和效率有着显著的作用。

    JSP开发技术jstl标签的使用

    JSP开发技术中,JSTL(JavaServer Pages Standard Tag Library)是一个标准标签库,它提供了许多用于简化JSP页面开发的标签。JSTL标签的使用能够使代码更加清晰,易于维护,避免了过多的脚本代码。下面将详细介绍几...

    jsp标准标签标准动作

    同时,JSTL与EL(Expression Language)结合使用,可以进一步增强其功能,使得JSP开发更加高效和便捷。在实际项目中,了解并熟练掌握JSTL的使用是非常重要的,它有助于创建更加结构化的、易于维护的JSP应用程序。

    jsp开发技术之jstl标签

    JSP开发技术中的JSTL(JavaServer Pages Standard Tag Library)是一个强大的标签库,它提供了许多预定义的标签,使得开发者能更方便地处理常见任务,如迭代、条件判断、异常处理、输入验证等,从而提高了代码的...

    jsp核心标签的使用方法

    通过熟练掌握这些核心标签和函数,可以显著提高JSP页面的开发效率和代码质量。在实际项目中,你可以结合`webAnoterProject`和`testJsp`这样的示例工程,进一步探索和实践这些概念,以加深理解。

    《JSP网站开发四酷全书》BBS网站开发源码

    《JSP网站开发四酷全书》是一本深入讲解JSP技术在实际网站...《JSP网站开发四酷全书》提供的BBS网站开发源码是一个很好的学习资源,读者可以通过阅读和调试代码,加深对JSP开发的理解,进一步提升自己的Web开发技能。

    jsp简单自定义标签的forEach遍历及转义字符示例

    在本例中,主要讲述了如何使用JSP创建一个简单的自定义标签来实现forEach遍历,以及如何在输出数据时使用转义字符来防止XSS(跨站脚本攻击)。 首先,创建一个标签处理器类,该类继承自SimpleTagSupport,...

    jsp用sql标签实现的投票系统

    总结来说,这个"jsp用sql标签实现的投票系统"是一个结合了JSP、SQL标签库、Tomcat应用服务器和MySQL数据库的示例,它展示了如何高效地构建一个简单的Web应用程序,处理用户交互并进行数据操作。通过这种方式,开发者...

    jsp标准标签库使用指南

    JSP标准标签库(JSTL,JavaServer Pages Standard Tag Library)自JSP 1.1版本起便被引入,旨在简化JSP页面的开发过程,减少脚本代码的使用,提高代码的可读性和维护性。JSTL提供了一组丰富的、预定义的标签,用于...

    JSTL_标签库详解大全JSTL常用标签汇总java开发jsp开发.pdf

    JSTL,全称JavaServer Pages Standard Tag Library,是Java Web开发中的一种标准标签库,它提供了一系列的标签来简化JSP页面中的编程逻辑。在本文中,我们将深入探讨JSTL的核心标签库,包括表达式操作、流程控制、...

    JSTL_标签库详解大全JSTL常用标签汇总java开发jsp开发归类.pdf

    JavaServer Pages Standard Tag Library(JSTL)是一个用于JSP页面的标准标签库,它提供了许多预定义的标签,简化了JSP开发中的常见任务。JSTL的核心标签库包括四个主要部分:表达式操作、流程控制、迭代操作和URL...

    用jsp开发的留言板,是学习jsp的好教材

    【jsp开发的留言板详解】 在IT领域,JSP(JavaServer Pages)是一种广泛使用的服务器端脚本语言,用于创建动态网页。本项目“用jsp开发的留言板”是一个经典的实例,适合初学者作为学习JSP的基础教材。这个留言板...

    web开发c标签详解

    随着JSP(JavaServer Pages)技术的发展,自定义标签的概念被引入到JSP1.1规范中,这使得开发人员能够创建自己的标签以提高代码复用性和可维护性。然而,这种自由度也带来了一定的问题,比如重复的标签实现以及不...

    学习jsp自下定义标签.pdf

    在JSP(JavaServer Pages)中,自定义标签是一种扩展JSP功能的方式,它允许开发者创建可重用的代码片段,这些片段可以像HTML...理解并熟练掌握自定义标签的创建和使用,对于提升JSP应用开发的效率和质量具有重要意义。

Global site tag (gtag.js) - Google Analytics