`

自定义jsp标签

阅读更多
以对字符串中特殊符号的过滤为例,说明自定义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标签

    自定义JSP标签是Java服务器页面(JSP)技术中的一种高级特性,它允许开发者创建自己的可重用组件,以增强网页的可维护性和代码复用性。在JSP中,自定义标签与HTML标签类似,但它们可以执行更复杂的业务逻辑,提供了...

    掌握自定义JSP标签

    想要在 JavaServer Pages (JSP) 应用程序中添加自定义标签吗?本教程将为您展示如何用这些标签编写类似于 JSP 技术自带操作 —— 如 jsp:useBean、jsp:getProperty 和 jsp:forward —— 的自定义操作。介绍如何用...

    掌握自定义jsp标签s

    本文将深入探讨如何掌握自定义JSP标签,以及其在实际开发中的应用。 一、JSP自定义标签概述 1. JSP自定义标签的作用:自定义标签提供了一种封装业务逻辑和视图的方式,使得代码结构更加清晰,降低了HTML和Java代码...

    开发自定义JSP标签

    下面我们将深入探讨如何开发自定义JSP标签。 首先,我们需要理解自定义JSP标签的基本结构。自定义标签通常由三部分组成:标签库描述符文件(TLD),标签处理类(Tag Handler Class)以及标签库使用者在JSP页面中...

    自定义JSP标签样例

    下面我们将深入探讨自定义JSP标签的原理、创建过程及其应用。 一、JSP标签基础知识 JSP标签分为两种类型:标准动作标签(Standard Actions)和自定义标签(Custom Tags)。标准动作标签如`&lt;jsp:include&gt;`、`&lt;jsp:...

    掌握自定义JSP标签 免费分享

    而自定义JSP标签则是JSP的一个强大特性,它允许开发者创建自己的标签库,以更加直观、易于理解的方式组织代码,提升开发效率。本篇将深入探讨如何掌握自定义JSP标签,并解释其在网络编程中的重要性。 首先,了解JSP...

    掌握自定义jsp标签

    为了提高代码复用性和可维护性,开发者通常会使用自定义JSP标签。本篇将深入探讨如何掌握自定义JSP标签,让你能够高效地利用这一功能。 一、自定义JSP标签的背景与意义 在传统的JSP页面中,我们常常使用内置标签如`...

    掌握自定义JSP标签(html).

    然而,有时预定义的标签并不能满足我们所有的需求,这时就需要自定义JSP标签来扩展功能。本教程将深入讲解如何创建和使用自定义JSP标签,以实现更加灵活的HTML渲染和业务逻辑处理。 1. 自定义标签的概念: 自定义...

    自定义JSP标签,用于实现无刷新的方法之一

    本文将深入探讨自定义JSP标签的创建与使用,以及它如何实现无刷新功能。 首先,理解JSP自定义标签的概念。自定义标签是开发者根据需求创建的,可以看作是预定义的HTML元素,它们扩展了JSP的功能,提供了更加灵活的...

    自定义JSP标签实用.pdf

    自定义JSP标签是JSP开发中的一种重要技术,它允许开发者创建可重用的、模块化的代码片段,提升代码的可读性和可维护性。本文将深入探讨自定义JSP标签的相关概念、格式、处理过程以及创建和使用自定义标签库的步骤。 ...

    自定义jsp标签jar

    spring-webmvc-3.0.5.RELEASE.jar jsp-api-2.1.jar 教程:http://blog.csdn.net/yjqyyjw/article/details/51840751

Global site tag (gtag.js) - Google Analytics