??xml version="1.0" encoding="utf-8" standalone="yes"?>色综合天天在线,gogogo影视剧免费观看在线观看,68国产成人综合久久精品http://www.aygfsteel.com/happydavy/category/3389.htmlqz?爱javazh-cnWed, 28 Feb 2007 04:04:18 GMTWed, 28 Feb 2007 04:04:18 GMT60什么是Tapestry?http://www.aygfsteel.com/happydavy/archive/2005/12/15/24051.html 我的java天地 我的java天地Thu, 15 Dec 2005 07:12:00 GMThttp://www.aygfsteel.com/happydavy/archive/2005/12/15/24051.htmlhttp://www.aygfsteel.com/happydavy/comments/24051.htmlhttp://www.aygfsteel.com/happydavy/archive/2005/12/15/24051.html#Feedback0http://www.aygfsteel.com/happydavy/comments/commentRss/24051.htmlhttp://www.aygfsteel.com/happydavy/services/trackbacks/24051.html 

Tapestry是一个用Java语言~写的开源框Ӟ用于创徏动态的、健壮的、高灉|性的web应用E序。Tapestry框架构筑在标准的Java Servlet API之上Q因此它能够很好地兼容Q何servlet容器或者应用服务?/P>

Tapestry一个web应用E序分离Zl页面,而每个页面又由多个组件组成。这提供了一个协调一致的l构Q得Tapestry框架能够专注于Q何一个关键细节,例如QURL解析和派遣、持久化状态储存在客户端还是储存在服务器端、用戯入效验、本地化或国际化、和异常报告。对 Tapestry应用E序的开发包括:(x)使用普通的HTML标签创徏HTML模板Q然后用XML描述文gQ可选)这些模板与量的java代码l合在一赗在Tapestry中,创徏你的应用E序是通过使用对象、方法以?qing)对象的属性-Q-而ƈ非由URLs和查询参数。Tapestry带来了真正的 Java Web应用E序OOP~程?/P>

Tapestry能够非常Ҏ(gu)地创建新lgQ就如同以常规的步骤来构建应用程序一栗而官Ҏ(gu)供了过五十U组Ӟq些lg包括各种各样单的输出lgQ以?qing)非常复杂的表格lg和树(wi)型目录组件?/P>

Tapestry能够构徏Q从型的应用程序到各种大型团队开发的几百个独立页面的大型应用E序。Tapestry能够非常Ҏ(gu)C各种底层框架l合Q包括J2EE、Hivemind和Spring?/P>

Tapestry发布于Apache Software Licence 2.0?/P>

Tapestry的哲?/H2>

Tapestry׃下四U关键原则组成:(x)

  • ?Q?应用E序q像火科学那么复杂?/LI>
  • 一致?Q?怎样操作面Q怎样操作lg。在应用程序中怎样操作Q那么在大型应用E序中就怎样操作。不同的开发者会(x)在相识问题上扑ֈ怼的解x案?/LI>
  • 效率 Q?应用E序是可以被升的?/LI>
  • 良好的反馈信?Q?当发生错误或者异常的时候,Tapestry框架本n的运作ƈ不会(x)发生异常Q实际上QTapestry框架?x)提供非常有用的错误诊断信息?/LI>

q四U原则共同组成了一个宗旨:(x)最单的选择Q就是最正确的选择。越早选择Tapestry框架Q那么就早避免许多ȝ?/P>

我们发现面向lg式web开发是实现q些原则的最好途径。围l着lg来组l框架和你的应用E序Q让框架来替你实现那些o(h)人厌烦的底层代码。你只需要写量的代码,写一些简单的代码Q有时候你甚至不需要写代码。Tapestry让你L?/P>

Tapestry 4.0

Tapestry4.0增加了许多新Ҏ(gu)以便提高你的工作效率:(x)

  •  4.0中新的DTDs配置更加化?/LI>
  • 在HTML中与在XML配置文g中绑定参数的方式被协调一_(d)都用相同的l定前缀?/LI>
  • "Friendly"URLsQ就是说QURLs中携带更多\径信息和更少的查询参C息)已经被集成。这使得你可以将应用E序分别攑֜多个文g夹中而减؜乱,q且可以通过q种方式提高J2EE目发布的安全性?/LI>
  • 监听Ҏ(gu)更加单和灉|QURL中的监听参数?x)自动映到监听?gu)的参敎ͼq且监听Ҏ(gu)可以q回面名称或者页面实例来Ȁz页面?/LI>
  • lg参数不必在担?direction"讄?/LI>
  • 除了每个面和每个组件的消息{略之外Q应用程序现在拥有一个全局的消息策略。消息不再从lg消息{略中寻找,而是从应用程序策略中查询?/LI>
  • 完全支持对JSR-168 Portlets的开发?/LI>
  • Tapestry 4.0比Tapestry3.0减少了对反射和OGNL的用;一部分原因是用了许多新绑定前~Q大部分原因是改变了参数的实现方式?/LI>
  • Hivemind的services和Spring的beans能够直接被页面和lgcL入?/LI>
  • Tapestry 4.0提供了对JDK 1.5 annotation的支持(但是Tapestry本n是运作于JDK 1.3Q?/LI>
  • Tapestry 4.0引进了一个全新的更健壮的用户输入效验子系l。感谢PaulQ?/LI>
  • 现在能够在错误报告里面,用横U精地标明文g中发生错误的代码行?/LI>
  • Forms现在能够被取消,避过客户端效验逻辑Qƈ触发指定的服务器端监听方法?/LI>
  • 你不再局限于Global对象和Visit对象Q只要你愿意Q可以用Q意多的application状态对象?/LI>
  • ׃Hivemind构筑与Tapestry底层Q意味着你可以容易地按照自己的需要修改Tapestry的实现?/LI>
  • 面属性现在能够被持久化于客户端中Q就如同在session中一栗?/LI>
  • lg和组件参数现在可以被标识?deprecated"。组件参数可以拥有别名(当重新命名一个参数时使用Q?/LI>

可以列D出无数Tapestry 4.0的变化。MQ所有的变化都是令h震撼的,减少了开发者的java代码Q减了模板的复杂性,化(或者除去)了XML文g?/P>

现状

Tapestry 4.0的开发工作仍在全力进行中。文档从以前旧的DocBook形式转变到新的Forrest形式Q剔除了许多临时性间隔。指南中新的Quick Start章节已经被撰写?/P>

Tapestry 4.0已经接近最l的beta周期Q新Ҏ(gu)将?x)被延箋到Tapestry 4.1Qƈ?x)l逐步完善文档和修正bug。最l版本的Tapestry 4.0预计Q不保证Q会(x)?005q十月推出?/P>

?.0-beta-12升

作ؓ(f)TAPESTRY-620修正的一部分Q将当前的IRquestCycle作ؓ(f)可注入的serviceQ简化Tapestry中的一些接口,取消IRequestCycle参数。这可能要求对一些地方的代码实现作适当调整?/P>

?.0-beta-10升

在beta-10和之后的版本中,对于asset serviceQfriendly URLs的配|改变了。在你的hivemind.xml中,?lt;asset-encoder id="asset" path="/assets/"/> 改ؓ(f)<asset-encoder id="asset" path="/assets"/>Q注意斜杠已l被LQ?/P>

从Tapestry 3.0升

Tapestry 4.0h很多新特性,考虑到向后兼Ҏ(gu),有些地方做了限制。具体细节以后会(x)发布Q但是至:(x)

  • Tapestry3.0 面和组件规范仍然保留?/LI>
  • 面和组件的模板没有改变?/LI>

升的时候,你将遇到下列问题Q?/P>

  • 引擎service的定义已l完全改变,可以参看IEngineService API?/LI>
  • BaseEngine的子c通过override来操作异常的方式已经改变。现在可以通过新的Hivemind services来重构默认的配置?/LI>
  • direction参数?custom"已经不再使用。定义一个参数L?x)生成对应的property?/LI>
  • 参数都不?x)再通过parameterNamel定propertyQ取而代之的是你必须使用getBinding()Ҏ(gu)?/LI>
  • page loader和specification delegate的关pdl改变,现在delegate提供的specifications?x)被loader~存Q在3.0中,由delegate来负责缓存)?/LI>
  • Tapestry不再需要Jakarta commons-lang library支持Q这意味着不能再用EnumPropertySelectionModelc(然而,你可以很Ҏ(gu)CTapestry 3.0中拷贝到源代码)?/LI>


我的java天地 2005-12-15 15:12 发表评论
]]>
String q个Ҏ(gu)的对?/title><link>http://www.aygfsteel.com/happydavy/archive/2005/09/16/13138.html</link><dc:creator> 我的java天地</dc:creator><author> 我的java天地</author><pubDate>Fri, 16 Sep 2005 02:44:00 GMT</pubDate><guid>http://www.aygfsteel.com/happydavy/archive/2005/09/16/13138.html</guid><wfw:comment>http://www.aygfsteel.com/happydavy/comments/13138.html</wfw:comment><comments>http://www.aygfsteel.com/happydavy/archive/2005/09/16/13138.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/happydavy/comments/commentRss/13138.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/happydavy/services/trackbacks/13138.html</trackback:ping><description><![CDATA[     摘要: 大家先来看看一D奇怪的E序Q? public class TestString { public static void main(String[] args) { String s1 = "Monday"; String s2 = "Monday"; } } q个E序真是单啊Q可是有什么问题呢Q? 1. 来自 String 的忧? 上面q段E序中,到底有几?..  <a href='http://www.aygfsteel.com/happydavy/archive/2005/09/16/13138.html'>阅读全文</a><img src ="http://www.aygfsteel.com/happydavy/aggbug/13138.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/happydavy/" target="_blank"> 我的java天地</a> 2005-09-16 10:44 <a href="http://www.aygfsteel.com/happydavy/archive/2005/09/16/13138.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˳</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϋ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͼ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">º</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˫</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɳ</a>| <a href="http://" target="_blank">ϼ</a>| <a href="http://" target="_blank">¡</a>| <a href="http://" target="_blank">պ</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">̷</a>| <a href="http://" target="_blank">̩</a>| <a href="http://" target="_blank">ī</a>| <a href="http://" target="_blank">Һ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">³ľ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ѿ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ǩ</a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>