This Domain(Admin5.com) is for Sale:

JSP与XML的结合

时间:2007-10-22  来源:不详  作者:林子

  ⑴ 创建一个JavaBean
  你代码中任何可重新使用的部分都应该放到一个JavaBean中。这个很重要,因为你要经常在项目的其它地方用到这些代码。放在标签处理器中的任何代码在标签外都是不可以重新使用的,因此将可重用的代码部分独立开来是很重要的。在这个例子总,为HTML编码的逻辑是常用的,因此放到JavaBean中。
  ⑵ HTML编码JavaBean

/* HTML_Format.Java */
public class HTML_Format extends Object implements Java.io.Serializable {
/** 创建新的HTML_Format */
public HTML_Format() {}
/** 将一个字符串中所有的所有 < 和 > 字符用响应的HTML编码代替 */
public String HTML_Encode(String as_data)
{
int li_len = as_data.length();
/*string buffer的长度要比原来的字符串长*/
StringBuffer lsb_encode = new StringBuffer(li_len (li_len/10));
/* 循环替换全部的< 和 > 字符 */
for( int li_count = 0 ; li_count < li_len ; li_count )
{ String ls_next = String.valueOf(as_data.charAt(li_count));
if (ls_next.equals("<")) ls_next = "<";
if (ls_next.equals(">")) ls_next = ">"; dedecms.com
lsb_encode.append( ls_next );
}
return( lsb_encode.toString() );
}
}
  ⑶ 创建一个标签处理器
  标签处理器使用以下的代码:

HTML编码标签处理器
import Java.io.IOException;
import Javax.servlet.jsp.*;
import Javax.servlet.jsp.tagext.*;
public class HTML_FormatTag extends BodyTagSupport
{
/* 1} 在标签末将会调用这个函数 */
public int doEndTag() throws JspTagException
{
try
{ /* 2}得到标签中的文本 */
BodyContent l_tagbody = getBodyContent();
String ls_output = "";
/* 3}如果标签体有文本,就处理它 */
if(l_tagbody != null)
{ HTML_Format l_format = new HTML_Format();
/* 3a} 将标签体的内容转换为一个字符串 */
String ls_html_text = l_tagbody.getString();
ls_output = l_format.HTML_Encode(ls_html_text);
}
/* 4}将结果写回到数据流中 */
pageContext.getOut().write(ls_output.trim());
}
catch (IOException e)
{ throw new JspTagException("Tag Error:" e.toString());

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息