以对字符串中特殊符号的过滤为例,说明自定义jsp的步骤:
1、创建自定义标签类,也就是标签实际执行的方法
package myTags;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
import org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager;
public class JSFilterTag extends TagSupport{
private static final long serialVersionUID = 641731803483920099L;
private Object property;
public int doStartTag() throws JspException {
if(property != null){
try{
//将特殊标签都替换成‘*’
String str = ((String)property).replaceAll("[\"\'<>]", "*");
pageContext.getOut().print(str);
} catch (IOException ex) {
throw new JspException(ex.getMessage());
}
}
return SKIP_BODY;
}
public Object getProperty() {
return property;
}
public void setProperty(Object property) {
try {
// 对EL表达式的支持 <xss:encode property="${变量}"></xss:encode>
if(property != null)
this.property = ExpressionEvaluatorManager.evaluate("title", property.toString(), Object.class, this, pageContext);
} catch (JspException e) {
System.out.println("过滤js自定义标签类set方法错误!");
e.printStackTrace();
}
}
}
2、创建tld文件
xss.tld如下<?xml version="1.0" encoding="UTF-8"?>
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<tag>
<name>encode</name>
<tagclass>myTags.JSFilterTag</tagclass>
<bodycontent>jsp</bodycontent>
<attribute>
<name>property</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
3、引入与使用
index.jsp中的应用<%@ taglib uri="/WEB-INF/xss.tld" prefix="xss" %>
...
<xss:encode property="<ssss>"></xss:encode>
分享到:
相关推荐
自定义JSP标签是Java服务器页面(JSP)技术中的一种高级特性,它允许开发者创建自己的可重用组件,以增强网页的可维护性和代码复用性。在JSP中,自定义标签与HTML标签类似,但它们可以执行更复杂的业务逻辑,提供了...
想要在 JavaServer Pages (JSP) 应用程序中添加自定义标签吗?本教程将为您展示如何用这些标签编写类似于 JSP 技术自带操作 —— 如 jsp:useBean、jsp:getProperty 和 jsp:forward —— 的自定义操作。介绍如何用...
本文将深入探讨如何掌握自定义JSP标签,以及其在实际开发中的应用。 一、JSP自定义标签概述 1. JSP自定义标签的作用:自定义标签提供了一种封装业务逻辑和视图的方式,使得代码结构更加清晰,降低了HTML和Java代码...
下面我们将深入探讨如何开发自定义JSP标签。 首先,我们需要理解自定义JSP标签的基本结构。自定义标签通常由三部分组成:标签库描述符文件(TLD),标签处理类(Tag Handler Class)以及标签库使用者在JSP页面中...
下面我们将深入探讨自定义JSP标签的原理、创建过程及其应用。 一、JSP标签基础知识 JSP标签分为两种类型:标准动作标签(Standard Actions)和自定义标签(Custom Tags)。标准动作标签如`<jsp:include>`、`<jsp:...
而自定义JSP标签则是JSP的一个强大特性,它允许开发者创建自己的标签库,以更加直观、易于理解的方式组织代码,提升开发效率。本篇将深入探讨如何掌握自定义JSP标签,并解释其在网络编程中的重要性。 首先,了解JSP...
为了提高代码复用性和可维护性,开发者通常会使用自定义JSP标签。本篇将深入探讨如何掌握自定义JSP标签,让你能够高效地利用这一功能。 一、自定义JSP标签的背景与意义 在传统的JSP页面中,我们常常使用内置标签如`...
然而,有时预定义的标签并不能满足我们所有的需求,这时就需要自定义JSP标签来扩展功能。本教程将深入讲解如何创建和使用自定义JSP标签,以实现更加灵活的HTML渲染和业务逻辑处理。 1. 自定义标签的概念: 自定义...
本文将深入探讨自定义JSP标签的创建与使用,以及它如何实现无刷新功能。 首先,理解JSP自定义标签的概念。自定义标签是开发者根据需求创建的,可以看作是预定义的HTML元素,它们扩展了JSP的功能,提供了更加灵活的...
自定义JSP标签是JSP开发中的一种重要技术,它允许开发者创建可重用的、模块化的代码片段,提升代码的可读性和可维护性。本文将深入探讨自定义JSP标签的相关概念、格式、处理过程以及创建和使用自定义标签库的步骤。 ...
spring-webmvc-3.0.5.RELEASE.jar jsp-api-2.1.jar 教程:http://blog.csdn.net/yjqyyjw/article/details/51840751