⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 taglib原理和实现之循环的tag - fanqiang_com.htm

📁 详细的讲述了XML相关知识
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0064)http://fanqiang.chinaunix.net/program/html/2005-04-21/3177.shtml -->
<HTML><HEAD><TITLE>Taglib原理和实现之循环的Tag - fanqiang.com</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>BODY {
	FONT: 12pt 宋体
}
TH {
	FONT: 12pt 宋体
}
INPUT {
	FONT: 12pt 宋体
}
SELECT {
	FONT: 12pt 宋体
}
TEXTAREA {
	FONT: 12pt 宋体
}
SELECT {
	FONT: 12pt 宋体
}
checkbox {
	FONT: 12pt 宋体
}
A:link {
	COLOR: #e6a306; TEXT-DECORATION: underline
}
A:visited {
	COLOR: #e6a306; TEXT-DECORATION: underline
}
A:hover {
	COLOR: #ffff00; TEXT-DECORATION: underline
}
BODY {
	FONT-SIZE: 12pt; FONT-FAMILY: "宋体", "serif"
}
TD {
	FONT-SIZE: 12pt; FONT-FAMILY: "宋体", "serif"
}
P {
	FONT-SIZE: 9pt; LINE-HEIGHT: 150%
}
</STYLE>

<META content="MSHTML 6.00.2800.1505" name=GENERATOR></HEAD>
<BODY text=#ffffff bgColor=#000000 leftMargin=0 
background="Taglib原理和实现之循环的Tag - fanqiang_com.files/bline.gif" topMargin=5 
onload=setTailPosition() marginwidth="0" marginheight="5">
<CENTER>
<TABLE cellSpacing=0 cellPadding=0 width=750 border=0>
  <TBODY>
  <TR>
    <TD height=45>
      <P align=center><IMG alt="[ 永远的UNIX::UNIX技术资料的宝库 ]" 
      src="Taglib原理和实现之循环的Tag - fanqiang_com.files/title.gif"> </P></TD></TR>
  <TR>
  <TR>
    <TD vAlign=bottom align=left height=40><SMALL><A 
      href="http://fanqiang.chinaunix.net/">首页</A> &gt; 编程技术 &gt; <A 
      href="http://fanqiang.chinaunix.net/program/html/index.shtml">HTML/JS/XML</A> 
      &gt; 正文</SMALL></TD></TR>
  <TR>
    <TD width="100%" bgColor=#d09f0d colSpan=5 height=2><IMG height=1 
      src="Taglib原理和实现之循环的Tag - fanqiang_com.files/c.gif" 
width=1></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=750 border=0>
  <TBODY>
  <TR>
    <TD vAlign=top align=middle><BR>
      <TABLE cellSpacing=0 cellPadding=0 width="90%" align=center border=0>
        <TBODY>
        <TR>
          <TH class=f24>
            <H1>Taglib原理和实现之循环的Tag</H1></TH></TR>
        <TR>
          <TD align=middle height=20><FONT 
            color=#999999><SMALL>作者:WalkingWithJava Java研究组织 (2005-04-21 
            14:13:39)</SMALL></FONT></TD></TR>
        <TR>
          <TD><BR>
            <SCRIPT type=text/javascript><!--
google_ad_client = "pub-0052768304011480";
google_alternate_color = "000000";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_channel ="5959447789";
google_color_border = "000000";
google_color_bg = "666666";
google_color_link = "FFFFFF";
google_color_url = "FF9900";
google_color_text = "CCCCCC";
//--></SCRIPT>

            <SCRIPT src="Taglib原理和实现之循环的Tag - fanqiang_com.files/show_ads.js" 
            type=text/javascript>
</SCRIPT>
          </TD></TR>
        <TR>
          <TD height=15></TD></TR>
        <TR>
          <TD class=l17><FONT class=f14 id=zoom><FONT color=#cccccc><!-- 正文begin --><!--StartFragment -->&nbsp;<SPAN 
            class=f14>1、问题:在request里的 People 对象,有个属性叫 men ,men 是一个Collection 
            ,有许多个man 。现在,把 
            collection里的man的名字都显示出来。<BR><BR>  显然,这是一个嵌套Tag的问题。有三个Tag互相作用:最外层的Tag找到People对象,中间的Tag取得Collection,子Tag负责打印。<BR><BR>  例如:<BR><BR>
            <TABLE borderColor=#ffcc66 width="90%" align=center bgColor=#dadacf 
            border=1>
              <TBODY>
              <TR>
                <TD><diego:withObject 
                  value="${people}"><BR> <diego:withCollection 
                  property="men"><BR>  <diego:elementout property="name"/> 
                  <BR> </diego:withCollection><BR></diego:withObject></TD></TR></TBODY></TABLE><BR>  思路如下:<BR><BR>  1) 
            编写WithObjectTag,负责从El表达式中取得对象<BR><BR>  2) 
            编写WithCollectionTag,负责从对象中取得 Collection ,遍历 Collection ,每遍历一次 
            Collection ,执行一次body<BR><BR>  3) 编写ElementoutTag ,把 Collection 
            中每个men对象的 name 打印出来<BR><BR>  2. 
            完整程序如下:<BR><BR>  在上例的diegoyun.vo包内,编写 People 类<BR><BR>
            <TABLE borderColor=#ffcc66 width="90%" align=center bgColor=#dadacf 
            border=1>
              <TBODY>
              <TR>
                <TD>package diegoyun.vo;<BR>import 
                  java.util.Collection;<BR>public class People<BR>{<BR> private 
                  Collection men = null; <BR> public Collection 
                  getMen()<BR> {<BR>  return men;<BR> }<BR> public void 
                  setMen(Collection men)<BR> {<BR>  this.men = 
              men;<BR> }<BR>}</TD></TR></TBODY></TABLE><BR>  编写 withObject 
            ,这是从request里取得People对象的最外层Tag<BR><BR>
            <TABLE borderColor=#ffcc66 width="90%" align=center bgColor=#dadacf 
            border=1>
              <TBODY>
              <TR>
                <TD>package diegoyun;<BR>import 
                  javax.servlet.jsp.JspException;<BR>import 
                  javax.servlet.jsp.tagext.BodyTagSupport;<BR>import 
                  org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager;<BR>public 
                  class WithObjectTag extends BodyTagSupport<BR>{<BR> private 
                  Object value = null;<BR><BR> public Object 
                  getValue()<BR> {<BR>  return value;<BR> }<BR> public void 
                  setValue(Object value)throws 
                  JspException<BR> {<BR>  this.value = 
                  ExpressionEvaluatorManager.evaluate("value", value.toString(), 
                  Object.class, this, pageContext);<BR> }<BR> public int 
                  doStartTag()<BR> { <BR>  return 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -