【
<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("<");
break;
case '>':
result.append(">");
break;
case '&':
result.append("&");
break;
case '"':
result.append(""");
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自带的核心标签库中,包含了许多用于简化Web开发的标签。这些标签极大地提高了开发效率,并且帮助开发者避免了在JSP页面中直接编写Java代码的复杂性。核心标签库中的标签通常分为不同的类别,包括动作标签、指令...
在Java Server Pages (JSP) 开发中,自定义标签是一种强大的功能,可以让开发者封装常用的代码块,提高代码复用性,并简化页面的编写。本文将详细介绍如何在JSP中创建自定义标签来实现`forEach`遍历以及如何处理转义...
使用JSTL标签库能够提高JSP页面的可读性和维护性,避免在JSP页面中嵌入大量的Java代码,同时也可以利用JSTL提供的国际化标签库(i18n)进行本地化开发。 在JSTL的早期版本中,由于标签库的资源定位是通过硬编码的...
JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中的一个重要工具,它提供了一组预定义的标签,用于简化JSP页面中的代码,提高可读性和可维护性。JSTL的核心在于它将业务逻辑和表现层分离,使得开发者...
综上所述,JSTL通过提供一系列标准标签,极大地提升了JSP页面的可读性和维护性,降低了代码的复杂度,是JSP开发中的重要工具。理解并熟练掌握JSTL的各种标签,对于提高JSP应用程序的质量和效率有着显著的作用。
JSP开发技术中,JSTL(JavaServer Pages Standard Tag Library)是一个标准标签库,它提供了许多用于简化JSP页面开发的标签。JSTL标签的使用能够使代码更加清晰,易于维护,避免了过多的脚本代码。下面将详细介绍几...
同时,JSTL与EL(Expression Language)结合使用,可以进一步增强其功能,使得JSP开发更加高效和便捷。在实际项目中,了解并熟练掌握JSTL的使用是非常重要的,它有助于创建更加结构化的、易于维护的JSP应用程序。
JSP开发技术中的JSTL(JavaServer Pages Standard Tag Library)是一个强大的标签库,它提供了许多预定义的标签,使得开发者能更方便地处理常见任务,如迭代、条件判断、异常处理、输入验证等,从而提高了代码的...
通过熟练掌握这些核心标签和函数,可以显著提高JSP页面的开发效率和代码质量。在实际项目中,你可以结合`webAnoterProject`和`testJsp`这样的示例工程,进一步探索和实践这些概念,以加深理解。
《JSP网站开发四酷全书》是一本深入讲解JSP技术在实际网站...《JSP网站开发四酷全书》提供的BBS网站开发源码是一个很好的学习资源,读者可以通过阅读和调试代码,加深对JSP开发的理解,进一步提升自己的Web开发技能。
在本例中,主要讲述了如何使用JSP创建一个简单的自定义标签来实现forEach遍历,以及如何在输出数据时使用转义字符来防止XSS(跨站脚本攻击)。 首先,创建一个标签处理器类,该类继承自SimpleTagSupport,...
总结来说,这个"jsp用sql标签实现的投票系统"是一个结合了JSP、SQL标签库、Tomcat应用服务器和MySQL数据库的示例,它展示了如何高效地构建一个简单的Web应用程序,处理用户交互并进行数据操作。通过这种方式,开发者...
JSP标准标签库(JSTL,JavaServer Pages Standard Tag Library)自JSP 1.1版本起便被引入,旨在简化JSP页面的开发过程,减少脚本代码的使用,提高代码的可读性和维护性。JSTL提供了一组丰富的、预定义的标签,用于...
JSTL,全称JavaServer Pages Standard Tag Library,是Java Web开发中的一种标准标签库,它提供了一系列的标签来简化JSP页面中的编程逻辑。在本文中,我们将深入探讨JSTL的核心标签库,包括表达式操作、流程控制、...
JavaServer Pages Standard Tag Library(JSTL)是一个用于JSP页面的标准标签库,它提供了许多预定义的标签,简化了JSP开发中的常见任务。JSTL的核心标签库包括四个主要部分:表达式操作、流程控制、迭代操作和URL...
【jsp开发的留言板详解】 在IT领域,JSP(JavaServer Pages)是一种广泛使用的服务器端脚本语言,用于创建动态网页。本项目“用jsp开发的留言板”是一个经典的实例,适合初学者作为学习JSP的基础教材。这个留言板...
随着JSP(JavaServer Pages)技术的发展,自定义标签的概念被引入到JSP1.1规范中,这使得开发人员能够创建自己的标签以提高代码复用性和可维护性。然而,这种自由度也带来了一定的问题,比如重复的标签实现以及不...
在JSP(JavaServer Pages)中,自定义标签是一种扩展JSP功能的方式,它允许开发者创建可重用的代码片段,这些片段可以像HTML...理解并熟练掌握自定义标签的创建和使用,对于提升JSP应用开发的效率和质量具有重要意义。