您的位置:首页 > Web前端 > JavaScript

JSP:自定义标签之开发html转义标签

2015-11-25 09:20 411 查看
<fix:htmlFilter>

<a href="a 发 a a">超链接的写法</a>

</fix:htmlFilter>

package cn.itcast.web.tag.example;



import java.io.IOException;

import java.io.StringWriter;



import javax.servlet.jsp.JspException;

import javax.servlet.jsp.tagext.JspFragment;

import javax.servlet.jsp.tagext.SimpleTagSupport;



public class HtmlFilter extends SimpleTagSupport {



@Override

public void doTag() throws JspException, IOException {

JspFragment jf=this.getJspBody();

StringWriter sw=new StringWriter();

jf.invoke(sw);

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

content=filter(content);

this.getJspContext().getOut().write(content);

}

/*C:\\Tomcat 7.0\\webapps\\examples\\WEB-INF\\classes\\util\\HTMLFilter.java*/

public static String filter(String message) {



if (message == null)

return (null);

char content[] = new char[message.length()];

message.getChars(0, message.length(), content, 0);

StringBuilder result = new StringBuilder(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());

}

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: