发行说明5.2.2

现在可以从Link对象生成绝对URL;绝对URL包括URL方案、主机、端口号(如果需要)以及完整的路径。这在许多情况下都很有用,例如在生成可能通过电子邮件发送给最终用户的URL时。

的语义链接.to绝对URL()方法发生了变化;在以前的版本中,它返回了一个完整的URL(即以前导斜杠开头),该方法通常用于生成Ajax回调URL。从5.2.2开始,它将生成一个绝对URL(如上所述)。在大多数情况下,您应该更改调用的代码至绝对URL()打电话给到URL()相反;因为Tapestry不再“优化”URL,这也适用于Ajax情况。

部署的Tapestry应用程序通常在防火墙后面运行,关于传入主机名和端口的可用请求信息通常不准确(它表示从防火墙服务器到应用程序服务器的私有请求,而客户端使用到防火墙服务器的公共请求)。使用绝对URL时,您可能希望覆盖BaseURLSource服务,以提供反映应用程序部署的准确值。

修复了Bug

  • TAP5-708型–Element.forceAttribute使用元素的命名空间来匹配属性。
  • TAP5-709型–Element.attribute(String name,String value)添加已经存在的元素
  • TAP5-804型–Element#addClassName可以创建额外的新“class”属性
  • 抽头5-921–对于不直接实现方法的抽象类,PropertyAccess不会公开接口中定义的属性
  • TAP5-1287型–一些服务需要通知它们已被重新加载,以便它们可以清理外部依赖项
  • TAP5-1293型–符号常量中的空格。SUPPORTED_LOCALES导致区域设置不持久
  • TAP5-1294型–验证宏在@Validate注释中使用时不起作用
  • TAP5-1297型–@Pattern的客户端验证已中断
  • TAP5-1303型–除非表单包含验证字段,否则将无法将表单链接到区域
  • TAP5-1304型–使用PropertyShadowBuilder构建服务时,如果属性为null,则需要立即发生异常(而不是NullPointerException)
  • TAP5-1309型–使用MultiZoneUpdate时,Tapestry将清除引用的区域

所做的改进

  • TAP5-538型–添加工具以选择性地禁用焦点切换触发的验证,同时保留表单提交验证
  • TAP5-874型–即使在不安全的页面上,表单组件也应该能够呈现安全的URL
  • 水龙头5-1272–新注释@Decorate和@Advise,以识别装饰或注释服务的方法
  • TAP5-1291型–使用新方法扩展链接以生成绝对URL(包括方案、主机名等)
  • TAP5-1295型–简化链接或表单与(封闭)区域的连接
  • TAP5-1298型–BeanBlockContribution应分为两个子类:EditBlockContrabution和DisplayBlockContrribution
  • TAP5-1300型–定义一个特殊的CSS类以防止客户端表单正常提交(对于Ajax用例)
  • TAP5-1306型–Link:addParameterValue(String,Object)的其他方法,使用ContextPathEncoder将对象值编码为字符串
  • TAP5-1314型–SeleniumTestCase应公开底层CommandProcessor,以允许执行Selenium接口未定义的命令
  • TAP5-1315型–允许单个SeleniumTestCase在不配置Selenium Launcher的情况下运行

新增功能

  • TAP5-1299型–通过JVM系统属性禁用实时服务重新加载的选项

已完成的任务

  • TAP5-1317型–将Hibernate依赖项升级到最新版本Hibernate3.6.0.Final