??xml version="1.0" encoding="utf-8" standalone="yes"?>heyzo中文字幕在线,精品色蜜蜜精品视频在线观看,国产小视频在线播放http://www.aygfsteel.com/xianeizhu/category/8064.htmljava之vzh-cnWed, 28 Feb 2007 20:14:08 GMTWed, 28 Feb 2007 20:14:08 GMT60J2EE1.4新特性之JSP 2.0的新Ҏ?/title><link>http://www.aygfsteel.com/xianeizhu/archive/2006/03/23/36989.html</link><dc:creator>java之v</dc:creator><author>java之v</author><pubDate>Thu, 23 Mar 2006 01:54:00 GMT</pubDate><guid>http://www.aygfsteel.com/xianeizhu/archive/2006/03/23/36989.html</guid><wfw:comment>http://www.aygfsteel.com/xianeizhu/comments/36989.html</wfw:comment><comments>http://www.aygfsteel.com/xianeizhu/archive/2006/03/23/36989.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xianeizhu/comments/commentRss/36989.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xianeizhu/services/trackbacks/36989.html</trackback:ping><description><![CDATA[ <table class="MsoNormalTable" style="width: 96%;" border="0" cellpadding="0" cellspacing="0" width="96%"> <tbody> <tr style=""> <td style="padding: 1.5pt;"> <p class="MsoNormal" style="text-align: center;" align="center"> <b> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">J2EE1.4</span> </b> <b> <span style="font-size: 12pt; font-family: 宋体;">新特性之<span lang="EN-US">JSP 2.0</span>的新Ҏ?</span> </b> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <o:p> </o:p> </span> </p> </td> </tr> <tr style=""> <td style="padding: 1.5pt;"> <p class="MsoNormal" style="text-align: center;" align="center"> <span style="font-size: 12pt; font-family: 宋体; color: rgb(251, 81, 4);">作者:务实工作?/span> <span style="font-size: 12pt; font-family: 宋体;"> 发文旉Q?span lang="EN-US">2003.10.27<o:p></o:p></span></span> </p> </td> </tr> <tr style=""> <td style="padding: 1.5pt;"> <p class="MsoNormal" style="text-align: center;" align="center"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"/> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"/> <v:f eqn="sum @0 1 0"/> <v:f eqn="sum 0 0 @1"/> <v:f eqn="prod @2 1 2"/> <v:f eqn="prod @3 21600 pixelWidth"/> <v:f eqn="prod @3 21600 pixelHeight"/> <v:f eqn="sum @0 0 1"/> <v:f eqn="prod @6 1 2"/> <v:f eqn="prod @7 21600 pixelWidth"/> <v:f eqn="sum @8 21600 0"/> <v:f eqn="prod @7 21600 pixelHeight"/> <v:f eqn="sum @10 21600 0"/> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/> <o:lock v:ext="edit" aspectratio="t"/> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" alt="" style='width:600pt; height:3pt'> <v:imagedata src="file:///C:\DOCUME~1\Cream\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg" o:/> </v:shape><![endif]--> <!--[if !vml]--> <img src="file:///C:/DOCUME%7E1/Cream/LOCALS%7E1/Temp/msohtml1/01/clip_image002.jpg" _base_ v:shapes="_x0000_i1025" height="4" width="800" /> <!--[endif]--> <o:p> </o:p> </span> </p> </td> </tr> </tbody> </table> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">SUN </span> <span style="font-size: 12pt; font-family: 宋体;">的新?span lang="EN-US">J2EE1.4</span>提供了在<span lang="EN-US">J2EE</span>中开?span lang="EN-US">Web Service</span>的基Q对开发工具做了一些重要的增强Q在应用E序部v和服务器理斚w也提供了新的标准Q在集成性和安全性方面有所增强Q提升了<span lang="EN-US">J2EE </span>开?span lang="EN-US">Web</span>应用E序的能力;在编E模型方面的重要变化包括<span lang="EN-US">JSP</span>表达式语a、简化的标记库等Q?span lang="EN-US">EJB 2.1</span>中提供了新的<span lang="EN-US">timer</span>服务Q查询语aQ?span lang="EN-US">QL</span>Q也有所增强Q?span lang="EN-US">Jdbc3.0 API</span>把通常?span lang="EN-US">Jdbc API</span>与扩?span lang="EN-US">API</span>l合hQ?span lang="EN-US">J2EE Connectors</span>规范和独立于消息cd?span lang="EN-US">EJB</span>提供了对双向通信的支持。下面给大家重点介绍<span lang="EN-US">J2EE1.4</span>中包含的<span lang="EN-US">JSP2.0</span>?span lang="EN-US"> Servlet2.4</span>?span lang="EN-US">Jdbc3.0</span>以及<span lang="EN-US">EJB2.1</span>斚w的新Ҏ?<span lang="EN-US"><o:p></o:p></span></span> </p> <p class="MsoNormal" style="text-align: center;" align="center"> <b> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> </span> </b> <b> <span style="font-size: 12pt; font-family: 宋体;">一?span lang="EN-US">JSP 2.0</span>的新Ҏ?/span> </b> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> <br /> JSP 2.0</span> <span style="font-size: 12pt; font-family: 宋体;">属于<span lang="EN-US">J2EE 1.4</span>q_Q它?span lang="EN-US">JSP 1.2</span>基础之上增加了新的功能。它保证了向下兼容,原先使用?span lang="EN-US">JSP</span>技术在<span lang="EN-US">JSP 2.0</span>中都可以支持?span lang="EN-US">JSP 2.0</span>的新功能主要包括下面几部分:<span lang="EN-US"><br /><br /><b>(</b></span><b>一<span lang="EN-US">)</span>q行环境变化</b><span lang="EN-US"><br /><br /> 1</span>?span lang="EN-US">web.xml</span>格式变化<span lang="EN-US"><br /><br /></span>我们知道<span lang="EN-US">JSP 1.2</span>可以?span lang="EN-US">Java 2</span>标准?span lang="EN-US">1.3</span>版本q行Q?span lang="EN-US">JSP 2.0</span>要求使用<span lang="EN-US">Java 2</span>标准?span lang="EN-US">1.4</span>或更新版本,<span lang="EN-US">JSP 2.0</span>使用?span lang="EN-US">Servlet 2.4</span>规定?span lang="EN-US">Web</span>E序部v描述格式?span lang="EN-US"><br /><br /></span>?span lang="EN-US">Web</span>E序描述文g<span lang="EN-US">web.xml</span>中需要?span lang="EN-US">xml schema</span>打头的格式。在<span lang="EN-US">web.xml</span>中主要的变化是所有有?span lang="EN-US">JSP</span>的设|信息要攑֜标记中。下面程序例<span lang="EN-US">1</span>昄了一?span lang="EN-US">web.xml</span>大致的样子?span lang="EN-US"><br /><br /></span>?span lang="EN-US">1</span>Q?span lang="EN-US"><br /><br style="" /><!--[if !supportLineBreakNewLine]--><br style="" /><!--[endif]--><o:p></o:p></span></span> </p> <div align="center"> <table class="MsoNormalTable" style="width: 300pt;" border="1" cellpadding="0" cellspacing="0" width="400"> <tbody> <tr style=""> <td style="padding: 1.5pt; background: rgb(230, 230, 230) none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> <br /> <span style="">    </span>.......<br /><br /><br /><br /><span style="">    </span>http://www.icconcept.com/ics/sample-taglib<br /><br /><br /><span style="">    </span>/WEB-INF/jsp/sample-taglib.tld<br /><br /><br /><span style="">    </span>........<br /><br /><br /><span style="">    </span>For config the ICW sample application<br /><br /> JSPConfiguration<br /> /jsp/datareset.jsp<br /> true<</span> <span style="font-size: 12pt; font-family: 宋体;">Q?span lang="EN-US">el-ignored><br /> ISO-8859-1<br /> true<br /> /jsp/prelude.jspf<br /> /jsp/coda.jspf<br /><br /><br style="" /><!--[if !supportLineBreakNewLine]--><br style="" /><!--[endif]--><o:p></o:p></span></span> </p> </td> </tr> </tbody> </table> </div> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> <br /> 2</span> <span style="font-size: 12pt; font-family: 宋体;">?span lang="EN-US">JSP</span>讄<span lang="EN-US"><br /><br /></span>在标记提供了<span lang="EN-US">Web</span>E序?span lang="EN-US">JSP</span>E序的设|信息。包括和两类元素。定义了<span lang="EN-US">Web</span>E序使用?span lang="EN-US">custom tag</span>Q它的用法和以前<span lang="EN-US">JSP 1.2</span>中的用法相同。定义了一l?span lang="EN-US">JSP</span>的特性。这些特性实际上对应<span lang="EN-US">JSP</span>?span lang="EN-US">page directive</span>定义的特性。通过只不q可以方便地对多个具有相同属性的<span lang="EN-US">JSP</span>l一定义?span lang="EN-US"><br /><br /></span>定义一个或多个<span lang="EN-US">URL</span>样式Q在中定义的属性会适用于匹配这?span lang="EN-US">URL</span>样式的所?span lang="EN-US">JSP</span>文g。在中的属性可以定义以下设|:<span lang="EN-US"><br /><br /> (1)</span>允许或禁止用表辑ּ语言<span lang="EN-US">(EL) <br /><br /></span>在中可以讑֮是否允许对应?span lang="EN-US">JSP</span>使用<span lang="EN-US">JSTL</span>表达式语a<span lang="EN-US">(EL)</span>。如果属性标记被讑֮?span lang="EN-US">false</span>Q?span lang="EN-US">JSP</span>中的<span lang="EN-US">EL</span>表达式会被处理;如果?span lang="EN-US">true</span>Q?span lang="EN-US">Web</span>容器会在转换<span lang="EN-US">JSP</span>时忽?span lang="EN-US">EL</span>表达式?span lang="EN-US"><br /><br /> (2)</span>允许或禁止?span lang="EN-US">scripting <br /><br /></span>属性可以允许或止使用<span lang="EN-US">JSP</span>的脚本语a<span lang="EN-US">(scripting)</span>。如果这个属性标记对应ؓ<span lang="EN-US"> true</span>Q即<span lang="EN-US">scripting</span>元素被禁止,?span lang="EN-US">JSP</span>中不能?span lang="EN-US">scriptlet</span>Q?span lang="EN-US">scripting</span>表达式和<span lang="EN-US">declaration</span>Q否则会有{换错 误。当q个属性标Cؓ<span lang="EN-US">false</span>Ӟ<span lang="EN-US">JSP</span>可以像在<span lang="EN-US">1.2</span>版本之前那样使用脚本语言?span lang="EN-US"><br /><br /> (3)</span>声明<span lang="EN-US">JSP</span>~码<span lang="EN-US"><br /><br /></span>通过标记可以讄对应?span lang="EN-US">JSP</span>|页的编码。这个属性对应每?span lang="EN-US">JSP</span>中的<span lang="EN-US">pageEncoding</span>属性,<span lang="EN-US">Web</span>容器根据这个属性对<span lang="EN-US">JSP</span>内容q行~码?span lang="EN-US"><br /><br /> (4)</span>对应隐含包括<span lang="EN-US">(Implicit Includes) <br /><br /></span>在中可以在对?span lang="EN-US">JSP</span>中加入抬?span lang="EN-US">(preludes)</span>和结?span lang="EN-US">(coda)</span>Q用和属性可以设定在<span lang="EN-US">JSP</span>|页中包括的<span lang="EN-US">preludes</span>?span lang="EN-US">coda</span>?span lang="EN-US">jspf</span>文g。这些文件的位置相对于当?span lang="EN-US">Web</span>E序?span lang="EN-US">context</span>。当有超q一?span lang="EN-US">preludes</span>?span lang="EN-US">coda</span>元素在中Ӟ<span lang="EN-US">JSP</span>会按照其序加入到内容中?span lang="EN-US"><br /><br /><b>(</b></span><b>?span lang="EN-US">)</span>引入表达式语a<span lang="EN-US">(EL)</span></b><span lang="EN-US"><br /><br /> JSP 2.0</span>的一个主要特Ҏ它支持表达语a<span lang="EN-US">(expression language)</span>?span lang="EN-US">JSTL</span>表达式语a可以使用标记格式方便地访?span lang="EN-US">JSP</span>的隐含对象和<span lang="EN-US">JavaBeans</span>lgQ?span lang="EN-US">JSTL</span>的核心标记提供了程和@环控?功能。自制标C有自定义函数的功能,因此基本上所?span lang="EN-US">seriptlet</span>能实现的功能都可以由<span lang="EN-US">JSP</span>替代。在<span lang="EN-US">JSP 2.0</span>中,量使用<span lang="EN-US">EL</span>而<span lang="EN-US">JSP</span>的格式更一致?span lang="EN-US"><br /><br /></span>?span lang="EN-US">web.xml</span>的中可以控制一l?span lang="EN-US">JSP</span>是否使用<span lang="EN-US">EL</span>Q在每个<span lang="EN-US">JSP</span>中也可以指定是否?span lang="EN-US">JSP</span>使用<span lang="EN-US">EL</span>。在<span lang="EN-US">page directive</span>中的<a name="0"></a><b><span style="background: rgb(255, 255, 102) none repeat scroll 0%; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">isELIgnored</span></b>属性用来指定是否忽略。格式ؓQ?span lang="EN-US"><br /><br style="" /><!--[if !supportLineBreakNewLine]--><br style="" /><!--[endif]--><o:p></o:p></span></span> </p> <div align="center"> <table class="MsoNormalTable" style="width: 300pt;" border="1" cellpadding="0" cellspacing="0" width="400"> <tbody> <tr style=""> <td style="padding: 1.5pt; background: rgb(230, 230, 230) none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"><%@ page isELIgnored</span> <span style="font-size: 12pt; font-family: 宋体;">Q?span lang="EN-US">"true|false"%><o:p></o:p></span></span> </p> </td> </tr> </tbody> </table> </div> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> <br /> </span> <span style="font-size: 12pt; font-family: 宋体;">如果讑֮为真Q那?span lang="EN-US">JSP</span>中的表达式被当成字符串处理。比如下面这个表辑ּ<span lang="EN-US"><o:p></o:p></span></span> </p> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">${2000 % 20}<o:p></o:p></span> </p> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;">?b><span style="background: rgb(255, 255, 102) none repeat scroll 0%; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">isELIgnored</span></b>Q?span lang="EN-US">"true"</span>时输Zؓ<span lang="EN-US">${2000 % 20}</span>Q?b><span style="background: rgb(255, 255, 102) none repeat scroll 0%; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">isELIgnored</span></b>Q?span lang="EN-US">"false"</span>时输Zؓ<span lang="EN-US">100</span>?span lang="EN-US">Web</span>容器默认<b><span style="background: rgb(255, 255, 102) none repeat scroll 0%; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" lang="EN-US">isELIgnored</span></b>Q?span lang="EN-US">"false"</span>?span lang="EN-US"><br /><br /></span>虽然<span lang="EN-US">JSP 2.0</span>可以?span lang="EN-US">JSP</span>中完全用表达语a而避?span lang="EN-US">scriptlet</span>Q在实际~程中,应该ҎE序的功能要求和~程人员的自w条仉择合适的方式。用表达语 a?span lang="EN-US">JSP</span>比较方便规整Q但是由于需要将标记q行转换Q在W一ơ被调用时会比较慢;有些~程人员׃?span lang="EN-US">Java</span>比较了解Q因而更习惯<span lang="EN-US">JSP 1.2</span>之前的编E方式,因此Q在使用中应因地制宜地选择适用的编E方法?span lang="EN-US"><br /><br /><b>(</b></span><b>?span lang="EN-US">)SimpleTag</span></b><span lang="EN-US"><br /><br /> JSP 2.0</span>中加入了新的创徏自制标记?span lang="EN-US">API</span>Q?span lang="EN-US">javax.servlet.jsp.tagext.SimpleTag</span>定义了用来实现简单标记的接口。和<span lang="EN-US"> JSP 1.2</span>中的已有接口不同的是Q?span lang="EN-US">SimpleTag</span>接口不?span lang="EN-US">doStartTag()</span>?span lang="EN-US">doEndTag()</span>ҎQ而提供了一个简单的<span lang="EN-US">doTag()</span>?法。这个方法在调用该标记时只被使用一ơ。而需要在一个自制标C实现的所有逻辑q程、@环和ҎC的评估等都在q个Ҏ中实现。从q个斚w来讲Q?span lang="EN-US"> SimpleTag</span>?span lang="EN-US">IterationTag</span>可以辑ֈ同等的作用。但<span lang="EN-US">SimpleTag</span>的方法和处理周期要简单得多。在<span lang="EN-US">SimpleTag</span>中还有用来设 |?span lang="EN-US">JSP</span>内容?span lang="EN-US">seUspBody()</span>?span lang="EN-US">getJspBody()</span>Ҏ?span lang="EN-US">Web</span>容器会?span lang="EN-US">setJspBody()</span>Ҏ定义一个代?span lang="EN-US">JSP</span>内容?span lang="EN-US"> JspFragment</span>对象。实?span lang="EN-US">SimpleTag</span>标记的程序可以在<span lang="EN-US">doTag</span>Ҏ中根据需要多ơ调?span lang="EN-US">getJspBody().invoke()</span>Ҏ 以处?span lang="EN-US">JSP</span>内容?span lang="EN-US"><br /><br /></span>例如Q程序例<span lang="EN-US">2 SimpleTag</span>Ҏ指定的次?span lang="EN-US">(times)</span>q行循环q输出当前序?span lang="EN-US">(sequence)</span>。程序的l构比较单,所有逻辑都在<span lang="EN-US">doTag</span>Ҏ中实现?span lang="EN-US"><br /><br /></span>?span lang="EN-US">2</span>Q?span lang="EN-US"><br /><br style="" /><!--[if !supportLineBreakNewLine]--><br style="" /><!--[endif]--><o:p></o:p></span></span> </p> <div align="center"> <table class="MsoNormalTable" style="width: 300pt;" border="1" cellpadding="0" cellspacing="0" width="400"> <tbody> <tr style=""> <td style="padding: 1.5pt; background: rgb(230, 230, 230) none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">package ICW.taglib;<br /><span style="">  </span>import javax.servlet.jsp.JspException;<br /><span style="">  </span>import javax.servlet.jsp.tagext.SimpleTagSupport;<br /><span style="">  </span>import java.util.HashMap;<br /><span style="">  </span>import java.io.IOException;<br /><span style="">  </span>public class IterationSimpleTag extends SimpleTagSupport{<br /><span style="">  </span>private int times;<br /> public void setTimes(int_times){<br /><span style="">    </span>this.times=_times;<br /><span style="">        </span>}<br /><span style="">    </span>public void doTag() throws JspException,IOException{<br /><span style="">    </span>HashMap params=new HashMap();<br /><span style="">    </span>for(int i=0; i<o:p></o:p></span> </p> </td> </tr> </tbody> </table> </div> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> <br /> </span> <span style="font-size: 12pt; font-family: 宋体;">q个标记?span lang="EN-US">TLD</span>文g内容如下Q它使用?span lang="EN-US">XML schcma</span>定义标记的用方法?span lang="EN-US"><br /><br /></span>E序?span lang="EN-US">3</span>如下Q?span lang="EN-US"><br /><br style="" /><!--[if !supportLineBreakNewLine]--><br style="" /><!--[endif]--><o:p></o:p></span></span> </p> <div align="center"> <table class="MsoNormalTable" style="width: 300pt;" border="1" cellpadding="0" cellspacing="0" width="400"> <tbody> <tr style=""> <td style="padding: 1.5pt; background: rgb(230, 230, 230) none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> <br /> <br /> 1.0<br /> Jwad book simple tag<br /> /JwadSimpleTag<br /> Simple Tag Handler<br /><br /> iteration<br /> ICW.taglib.IterationSimpleTag<br /> scriptless<br /> Iteration Tag<br /><br /> Current iterationnumber<br /> sequence<br /><br /><br /> times<br /> true<br /> true<br /><br /><br style="" /><!--[if !supportLineBreakNewLine]--><br style="" /><!--[endif]--><o:p></o:p></span> </p> </td> </tr> </tbody> </table> </div> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> <br /> </span> <span style="font-size: 12pt; font-family: 宋体;">E序?span lang="EN-US">4</span>中的<span lang="EN-US">JSP</span>使用上面?span lang="EN-US">3</span>中定义的<span lang="EN-US">IterationSimpleTag</span>Q它Ҏ<span lang="EN-US">Web</span>h参数中给定的<span lang="EN-US">“times?/span>的D行一定次数的循环。在每次循环中将输出<span lang="EN-US">"sequence"</span>的倹{?span lang="EN-US"><br /><br /></span>?span lang="EN-US">4</span>Q?span lang="EN-US"><br /><br style="" /><!--[if !supportLineBreakNewLine]--><br style="" /><!--[endif]--><o:p></o:p></span></span> </p> <div align="center"> <table class="MsoNormalTable" style="width: 300pt;" border="1" cellpadding="0" cellspacing="0" width="400"> <tbody> <tr style=""> <td style="padding: 1.5pt; background: rgb(230, 230, 230) none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"><%@ taglib prefix="ictag" uri="/WEB-INF/ics-jsp2.tld" %><br /><br style="" /><!--[if !supportLineBreakNewLine]--><br style="" /><!--[endif]--><o:p></o:p></span> </p> <p class="MsoNormal" style="margin-bottom: 12pt; text-align: center;" align="center"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> </span> <span style="font-size: 13.5pt; font-family: Arial; color: rgb(0, 153, 153);" lang="EN-US"> <br /> </span> <b> <span style="font-size: 13.5pt; font-family: Arial; color: rgb(0, 153, 153);" lang="EN-US">Interation Simple Tag</span> </b> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <o:p> </o:p> </span> </p> <div id="wmqeeuq" class="MsoNormal" style="text-align: center;" align="center"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <hr align="center" size="2" width="100%" /> </span> </div> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> <br style="" /> <!--[if !supportLineBreakNewLine]--> <br style="" /> <!--[endif]--> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-align: left;" align="left"> <b> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">Reminder:</span> </b> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> <br /> <br /> <span style="">    </span>This is the ${sequence} Of ${times} times of reminder<br /><br style="" /><!--[if !supportLineBreakNewLine]--><br style="" /><!--[endif]--><o:p></o:p></span> </p> </td> </tr> </tbody> </table> </div> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> <br /> <b>(</b> </span> <b> <span style="font-size: 12pt; font-family: 宋体;">?span lang="EN-US">)</span>使用<span lang="EN-US">JSP fragment</span></span> </b> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> <br /> JSP 2.0</span> <span style="font-size: 12pt; font-family: 宋体;">中的一个主要功能是<span lang="EN-US">JSP fragment</span>Q它的基本特Ҏ可以使处?span lang="EN-US">JSP</span>的容器推q评?span lang="EN-US">JSP</span>标记属性。我们知道一?span lang="EN-US">JSP</span>是首先评?span lang="EN-US">JSP</span>标记的属性,然后在处?span lang="EN-US">JSP</span>标记 时用这些属性,?span lang="EN-US">JSP fragment</span>提供了动态的属性。也是_q些属性在<span lang="EN-US">JSP</span>处理其标C时是可以被改变的?span lang="EN-US">JSP</span>需要将q样的属性定义ؓ<span lang="EN-US"> javax.servlet.jsp.tagext.JspFragment</span>cd。当<span lang="EN-US">JSP</span>标记讄成这UŞ式时Q这U标记属性实际上的处理方法类g? C。在实现标记的程序中Q标记属性可以被反复评估多次。这U用法称?span lang="EN-US">JSP fragment</span>?span lang="EN-US">JSP fragment</span>q可以定义在一?span lang="EN-US">SimpleTag</span>处理E序中用的自制标记动作。像前面例子说明的,<span lang="EN-US">getJspBody</span>q回一?span lang="EN-US"> JspFragment</span>对象q可以在<span lang="EN-US">doTag</span>Ҏ中多ơ用。需要注意的是,使用<span lang="EN-US">JSP fragment</span>?span lang="EN-US">JSP</span>只能有一般的文本?span lang="EN-US">JSP action</span>Q不能有<span lang="EN-US">scriptlet</span>?span lang="EN-US">scriptlet</span>表达式?span lang="EN-US"><br /><br /></span>我们可以单地认ؓ<span lang="EN-US">JSP fragment</span>是一D可以重复用的<span lang="EN-US">JSP</span>。一D?span lang="EN-US">JSP fragment</span>可以被传递到另一?span lang="EN-US">JSP</span>中ƈ被用。与<span lang="EN-US">JSP include</span>概念不同的是Q?span lang="EN-US">JSP fragment</span>一般功能比较短简单而且重复使用率高?span lang="EN-US"><br /><br /> JSP fragment</span>一般在标记体内或标C内定义。每ơ当含有<span lang="EN-US">JSP fragment</span>的标记被使用Ӟ<span lang="EN-US">Web</span>容器生成一?span lang="EN-US">JspFragment</span>对象Q这个对象和当前<span lang="EN-US">JSP</span>?span lang="EN-US">page scope</span>联系h。同Ӟq个<span lang="EN-US">JspFragment</span>对象和包含它的父标记建立联系?span lang="EN-US">JspFragment</span>对象可以有两U调用方式:使用<span lang="EN-US">Java</span>~写 的标记处理程序,或者用标记文?span lang="EN-US">(tag file)</span>。标记文件可以用,或者动作?span lang="EN-US">JSP fragment</span>?span lang="EN-US"> JSP</span>标记文g可以?span lang="EN-US">JSP fragment</span>共同工作?span lang="EN-US">CustomTag</span>都是以编E方式实现的?span lang="EN-US">JSP</span>标记文g是用文本文g格式<span lang="EN-US">(JSP</span>语法<span lang="EN-US">)</span>实现自制标记Q这也是<span lang="EN-US">JSP 2.0</span>的一个主要新功能。一个标记文件可以对应一个标讎ͼ可以不需<span lang="EN-US">tld</span>文g定义该标记的Ҏ。这P即ɾ~程人员不熟?span lang="EN-US">Java</span>Q也可以使用<span lang="EN-US">JSP</span>语法 定义自己的标记。标记文件一般?span lang="EN-US">.tag</span>为后~q放?span lang="EN-US">Web</span>E序?span lang="EN-US">/WEB-INF</span>目录下?span lang="EN-US"><br /><br /></span>E序?span lang="EN-US">5</span>中的<span lang="EN-US">taskstatus.jsp</span>使用了两?span lang="EN-US">JSP fragment</span>。这?span lang="EN-US">JSP</span>的功能是昄一l?span lang="EN-US">Task</span>的名U和完成日期Q它通过定义了两D?span lang="EN-US">JSPfragment(</span>名称?span lang="EN-US">onSehedule</span>?span lang="EN-US">delayed)</span>。在标记内的<span lang="EN-US">JSP</span>是<span lang="EN-US">JSPfragment</span>Q而标记被一个包围。这个标记是一个通过标记文g定义的自制标讎ͼ它的定义文g?span lang="EN-US">/WEB-INF/tags</span>目录下。标记文件的名称和标记名UC致ؓ<span lang="EN-US">“listTasks.tag"</span>。这个标C使用到前面定义的两个<span lang="EN-US">JSP fragment</span>?span lang="EN-US"><br /><br /></span>?span lang="EN-US">5: <br /><br style="" /><!--[if !supportLineBreakNewLine]--><br style="" /><!--[endif]--><o:p></o:p></span></span> </p> <div align="center"> <table class="MsoNormalTable" style="width: 300pt;" border="1" cellpadding="0" cellspacing="0" width="400"> <tbody> <tr style=""> <td style="padding: 1.5pt; background: rgb(230, 230, 230) none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"><%@ taglib prefix="ictag" tagdir="/WEB-INF/tags" %><br /><br style="" /><!--[if !supportLineBreakNewLine]--><br style="" /><!--[endif]--><o:p></o:p></span> </p> <p class="MsoNormal" style="margin-bottom: 12pt; text-align: center;" align="center"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> </span> <span style="font-size: 13.5pt; font-family: Arial; color: rgb(0, 153, 153);" lang="EN-US"> <br /> </span> <b> <span style="font-size: 13.5pt; font-family: Arial; color: rgb(0, 153, 153);" lang="EN-US">JSP Fragment Sample Using Tag Files</span> </b> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <o:p> </o:p> </span> </p> <div id="wmqeeuq" class="MsoNormal" style="text-align: center;" align="center"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <hr align="center" size="2" width="100%" /> </span> </div> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="text-align: left;" align="left"> <b> <span style="font-size: 18pt; font-family: 宋体;" lang="EN-US">Tasks<o:p></o:p></span> </b> </p> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> <br /> <br style="" /> <!--[if !supportLineBreakNewLine]--> <br style="" /> <!--[endif]--> <o:p> </o:p> </span> </p> </td> <td style="padding: 1.5pt;"> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">Name:${name}<o:p></o:p></span> </p> </td> <td style="padding: 1.5pt;"> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">Date:${date} <o:p></o:p></span> </p> </td> <td style="padding: 1.5pt;"> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">Name:${name}<o:p></o:p></span> </p> </td> <td style="padding: 1.5pt;"> <p class="MsoNormal" style="text-align: left;" align="left"> <span style="font-size: 12pt; font-family: 宋体; color: red;" lang="EN-US">Plan:<s> ${pianDate}</s></span> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> <b>Actural:${actDate}</b> <o:p> </o:p> </span> </p> </td> </tr> </tbody> </table> </div> <p class="MsoNormal"> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> <br /> <b>(</b> </span> <b> <span style="font-size: 12pt; font-family: 宋体;">?span lang="EN-US">)</span>其他Ҏ?/span> </b> <span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"> <br /> <br /> JSP2.0</span> <span style="font-size: 12pt; font-family: 宋体;">q有一些其他特性变化,比如严格修正?span lang="EN-US">I18N</span>的语法规则,改进<span lang="EN-US">JSP</span>对应<span lang="EN-US">XML</span>语法从而允怋?span lang="EN-US">namespaces</span>{。这些ƈ不是核心功能Q大家可以参?span lang="EN-US">java.sun.com</span>的有兌料了解功能的l节Q这里就不再阐述?/span> </p> <img src ="http://www.aygfsteel.com/xianeizhu/aggbug/36989.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xianeizhu/" target="_blank">java之v</a> 2006-03-23 09:54 <a href="http://www.aygfsteel.com/xianeizhu/archive/2006/03/23/36989.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP单的表达式语ahttp://www.aygfsteel.com/xianeizhu/archive/2006/03/23/36988.htmljava之vjava之vThu, 23 Mar 2006 01:51:00 GMThttp://www.aygfsteel.com/xianeizhu/archive/2006/03/23/36988.htmlhttp://www.aygfsteel.com/xianeizhu/comments/36988.htmlhttp://www.aygfsteel.com/xianeizhu/archive/2006/03/23/36988.html#Feedback0http://www.aygfsteel.com/xianeizhu/comments/commentRss/36988.htmlhttp://www.aygfsteel.com/xianeizhu/services/trackbacks/36988.html单的表达式语a

Sun Microsystems ?1997 q下半年推出?Servlet APIQ将它定位ؓ CGI 开发h员用的一U功能强大的工具Q这些开发h员正在寻找比 CGIQ通用|关接口Q编E更高效和轻便的优秀解决Ҏ。但是,开发h员很快就发现 Servlet API 有其自n的缺点,从代码的可维护性和可扩展性方面来看,该解x案难以实施。在某种E度上,q种~点促团队开发一U允许在 HTML 中嵌? Java 代码的解x??JavaServer Pages (JSP) 因此而出现?/p>

不久以后Q开发h员意识到表达与商务逻辑混合在一L复杂 JSP 不易于理解和维护。不能编? scriplet 的页面制作h员所面的另一个问题是׃标准标记集而带来的 JSP 限制。这些限制得难点变成利?JSP 实施自定义标记的机制来创?JSP 自定义标记?

JSP 标准标记?(JSTL) 是自定义标记库的集合Q它许?JSP 应用E序通用的核心功能封装ؓ单的标记。它不再需要?JSP scriptlet
和表辑ּQ而用表辑ּ的更高语法。它q实C通用目的的功能,如P代和条g化、数据管理格式化、XML 操作、数据库讉K、国际化和对本地化信息敏感的格式化标C?SQL 标记。JSTL 1.0 推出?EL 的概念,但只限于 JSTL 标记。在 JSP 2.0 中,您可以用带模板文本?ELQ甚臛_以通过 javax.servlet.jsp.el 获得~程方式的访问?br />
在我们了?JSTL 如何适应环境以及?JSTL 表达式语a相关的限制以后,我们来看 JSP 2.0 的重要优点之一 ?JSP 表达式语a (EL)。我们将特别涉及C下内容:

JSP 表达式语a定义
在无脚本?JSP 面中支?EL 的机?/a>
表达式语a语法
JSP EL 中有效的表达?/a>
使用 EL 表达?/a>

JSP 表达式语a定义

表达式语a的灵感来自于 ECMAScript ?XPath 表达式语aQ它提供了在 JSP 中简化表辑ּ的方法。它是一U简单的语言Q基于可用的命名I间QPageContext 属性)、嵌套属性和寚w合、操作符Q算术型、关pd和逻辑型)的访问符、映到 Java cM静态方法的可扩展函C及一l隐式对象?br />
EL 提供了在 JSP 脚本~制元素范围外用运行时表达式的功能。脚本编制元素是指页面中能够用于?JSP 文g中嵌?Java 代码的元素。它们通常用于对象操作以及执行那些影响所生成内容的计。JSP 2.0 ?EL 表达式添加ؓ一U脚本编制元素?br />
脚本~制元素h三个从属形式Q?

  • 声明
  • Scriptlet
  • 表达式?br />
    让我们来看代码中的这三种从属形式Q?

    <%! int i = 1; %> <% -- Declaration --%>
    <% for (int i =0; i < 10; i++) { %> <% -- Scriptlets --%>
    table.getColumn( ) <% -- Expression --%>

    在将 EL d?JSP 工具包以后,可以使用更简单的语法来编写以上的代码Q而获得与以上 JSP 元素相同的结果。EL 表达式的另一个优势是Q可以在不允怋用上qCQ何脚本编制元素从属Ş式的无脚本的 JSP 中使用它。但是必L意,可以不用三U脚本编制元素从属Ş式中的Q一U来~写 JSP ,而对 JSP |否应该ؓ无脚本Ş式的选择则完全基于应用程序的需求。如果您希望明确分开表达与商务逻辑Q则q可以选择页面强制ؓ无脚本Ş式。通过强制成ؓ无脚本页 面,必须通过其他元素Q如 JavaBean、EL 表达式、自定义操作和标准标记库Q提?JSP 늚动态行为?

    在无脚本?JSP 中支持 EL 的机?/h2>

    有两U机制可以确保页面不包含M脚本~制元素。每U机制还提供在无脚本?JSP 中支持 EL 的方法?

    • 使用面指示Q?/h4> 在用页面指C时Q您可以通过?isELEnabled 指示的值相应地设ؓ“true”或“false”,指定是否支持 ELQ如下所C:

      <%@ page isScriptingEnabled="true|false" isELEnabled="true|false"%>

    • 使用部v描述W的元素Q?/h4> 当用部|描q符的元素时Q您可以通过? 标记间包含布值“true”或“false”,指定是否支持 ELQ如下所C:
      ...


      *.jsp
      true
      true


      ....

    表达式语a语法

    JSP 表达式语a允许面制作人员使用单语法访问组Ӟ如:


    ${expr}

    在以上的语法中,expr 代表有效的表辑ּ。必L意,该表辑ּ可以与静态文本؜合,q可以与其他表达式结合成更大的表辑ּ?

    JSP EL 中的有效表达?/h2>

    有效表达式可以包含文字、操作符、变量(对象引用Q和函数调用。我们将分别了解q些有效表达式中的每一U:

    文字

    JSP 表达式语a定义可在表达式中使用的以下文字:

  • 文字文字的?/th>

    Boolean

    true ?false

    Integer

    ?Java cM。可以包含Q何正数或负数Q例?24?45?67

    Floating Point

    ?Java cM。可以包含Q何正的或负的点敎ͼ例如 -1.8E-45?.567

    String

    M由单引号或双引号限定的字W串。对于单引号、双引号和反斜杠Q用反斜杠字符作ؓ转义序列。必L意,如果在字W串两端使用双引P则单引号不需要{义?/p>

    Nullnull

    让我们来看一些用文字作为有效表辑ּ的示例:

    ${false} <%-- evaluates to false --%>
    ${3*8)

    操作W?/h3>

    JSP 表达式语a提供以下操作W,其中大部分是 Java 中常用的操作W:

    术语定义

    术?/p>

    +?Q二元)??、div?、mod?Q一元)

    逻辑?/p>

    and?amp;&、or、||?、not

    关系?/p>

    ==、eq?=、ne?lt>、gt?lt;=、le?gt;=、ge。可以与其他D行比较,或与布尔型、字W串型、整型或点型文字进行比较?/lt>

    I?/p>

    I操作符是前~操作Q可用于定值是否ؓI?/p>

    条g?/td>A ?B :C。根?A 赋值的l果来赋?B ?C?

    让我们来看一些用操作符作ؓ有效表达式的CZQ?

    ${ (6 * 5) + 5 } <%-- evaluates to 35 --%>
    ${empty name}

    隐式对象

    JSP 表达式语a定义了一l隐式对象,其中许多对象?JSP scriplet 和表辑ּ中可用:

    术语定义

    pageContext

    JSP 늚上下文。它可以用于讉K JSP 隐式对象Q如h、响应、会话、输出、servletContext {。例如,${pageContext.response} 为页面的响应对象赋倹{?/p>

    此外Q还提供几个隐式对象Q允许对以下对象q行易访问:

    术语定义

    param

    请求参数名U映到单个字符串参数|通过调用 ServletRequest.getParameter (String name) 获得Q。getParameter (String) Ҏq回带有特定名称的参数。表辑ּ $(param.name) 相当?request.getParameter (name)?/p>

    paramValues

    请求参数名U映到一个数值数l(通过调用 ServletRequest.getParameter (String name) 获得Q。它?param 隐式对象非常cMQ但它检索一个字W串数组而不是单个倹{表辑ּ ${paramvalues.name) 相当?request.getParamterValues(name)?/p>

    header

    请求头名称映射到单个字W串头|通过调用 ServletRequest.getHeader(String name) 获得Q。表辑ּ ${header.name} 相当?request.getHeader(name)?/p>

    headerValues

    请求头名称映射C个数值数l(通过调用 ServletRequest.getHeaders(String) 获得Q。它与头隐式对象非常cM。表辑ּ ${headerValues.name} 相当?request.getHeaderValues(name)?/p>

    cookie?cookie 名称映射到单?cookie 对象。向服务器发出的客户端请求可以获得一个或多个 cookie。表辑ּ ${cookie.name.value} q回带有特定名称的第一?cookie 倹{如果请求包含多个同名的 cookieQ则应该使用 ${headerValues.name} 表达式?/td>
    initParam上下文初始化参数名U映到单个|通过调用 ServletContext.getInitparameter(String name) 获得Q?

    除了上述两种cd的隐式对象之外,q有些对象允许访问多U范围的变量Q如 Web 上下文、会话、请求、页面:

    术语定义

    pageScope

    页面范围的变量名称映射到其倹{例如,EL 表达式可以?${pageScope.objectName} 讉K一?JSP 中页面范围的对象Q还可以使用 ${pageScope.objectName.attributeName} 讉K对象的属性?/p>

    requestScope

    请求范围的变量名称映射到其倹{该对象允许讉Kh对象的属性。例如,EL 表达式可以? ${requestScope.objectName} 讉K一?JSP h范围的对象,q可以? ${requestScope.objectName.attributeName} 讉K对象的属性?/p>

    sessionScope

    会话范围的变量名称映射到其倹{该对象允许讉K会话对象的属性。例如:

    <% session.put (name", "John Doe"); %>
    $sessionScope.name} <%-- evaluates to John Doe --%>
    <%= session.get("name"); %> <%-- This is an equivalent scripting expression --%>

    applicationScope

    应用程序范围的变量名称映射到其倹{该隐式对象允许讉K应用E序范围的对象?/p>

    必须注意Q当表达式根据名U引用这些对象之一Ӟq回的是相应的对象而不是相应的属性。例如:即现有?pageContext 属性包含某些其他|${pageContext} 也返?PageContext 对象?

    使用 EL 表达?/h2>

    EL 表达式可用于两种情况Q?/p>

    • 作ؓ标准操作和自定义操作中的属性?br />
    • ?JSP 文g的模板文本中Q如 HTML 或非 JSP 元素 ?在这U情况下Q模板文本中的表辑ּ被赋值ƈ插入到当前的输出中。但是,必须注意Q如果标记的M被声明ؓ与标记相养I则不会对表达式赋倹{?


    java之v 2006-03-23 09:51 发表评论
    ]]>Cannot find bean blacktags in any scopehttp://www.aygfsteel.com/xianeizhu/archive/2006/03/21/36649.htmljava之vjava之vTue, 21 Mar 2006 08:06:00 GMThttp://www.aygfsteel.com/xianeizhu/archive/2006/03/21/36649.htmlhttp://www.aygfsteel.com/xianeizhu/comments/36649.htmlhttp://www.aygfsteel.com/xianeizhu/archive/2006/03/21/36649.html#Feedback0http://www.aygfsteel.com/xianeizhu/comments/commentRss/36649.htmlhttp://www.aygfsteel.com/xianeizhu/services/trackbacks/36649.html<forward name="articleList" path="/articleList.do" redirect="true" />
    </action>

    redirect="true"造成错误
    Cannot find bean blacktags in any scope


    java之v 2006-03-21 16:06 发表评论
    ]]>
    web.xml加入taglib报错http://www.aygfsteel.com/xianeizhu/archive/2006/03/14/35248.htmljava之vjava之vTue, 14 Mar 2006 08:02:00 GMThttp://www.aygfsteel.com/xianeizhu/archive/2006/03/14/35248.htmlhttp://www.aygfsteel.com/xianeizhu/comments/35248.htmlhttp://www.aygfsteel.com/xianeizhu/archive/2006/03/14/35248.html#Feedback2http://www.aygfsteel.com/xianeizhu/comments/commentRss/35248.htmlhttp://www.aygfsteel.com/xianeizhu/services/trackbacks/35248.html<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    {到要在web.xml加入taglib
        <taglib>
            <taglib-uri>/WEB-INF/tiles.tld</taglib-uri>
            <taglib-location>/WEB-INF/tiles.tld</taglib-location>
        </taglib>
    始终会报?br>后来把头部改?br><?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app
      PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
      "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">

    <web-app>
    ......
    </web-app>
    l于可以加taglib?但原来的filter又报?最后把
    filter和filter-mapping攑֜最前面,l于ok.



    java之v 2006-03-14 16:02 发表评论
    ]]>
    վ֩ģ壺 н| ɽ| ԭ| | | | | | ϰ| | | żҽ| | | | ϼ| ̶| | ɫ| | | Ĭ| ƽ| ī| | | | | | ԭ| | | | | | | ̨| ʡ| ȫ| ɳ| º|