(A18)Tapestry Core :Configuring Tapestry

今天药忘吃喽~ 2022-07-12 07:55 264阅读 0赞

本文翻译出处 http://tapestry.apache.org/tapestry5/tapestry-core/guide/conf.html

本 人翻译目的是用来学习Tapestry5的,共享出来希望大家批评指正。计划持续翻译。

lightbulb.gif chinajavawolf

配置 Tapestry

Tapestry 运行标准的 Java Servlet API 之上。对于 servlet 容器,像 tomcat,Tapestry 看来就像是一个 servlet 过滤器。这个 Tapestry 以很大的灵活性去匹配 URLs 不用要求很多 web.xml 内的配置。

  • web.xml

大部分配置出现在 servlet 部署描述 符内, WEB-INF/web.xml

大多数配置是样板化的,对于所有应用都是相同的。

应用的特殊配置是确定应用的 root 包。 Tapestry 使用这个包名去定位你的包和组件类。

页面类必须放在 pages 子包里,组件必 须放在 components 子包里。

你指定 root 包当作 context 参数。

  1. PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN”
  2. “http://java.sun.com/dtd/web-app\_2\_3.dtd“ >
  3. < web-app >
  4. < display-name > My Tapestry Application display-name >
  5. < context-param >
  6. < param-name > tapestry.app-package param-name >
  7. < param-value > org.example.myapp param-value >
  8. context-param >
  9. < filter >
  10. < filter-name > app filter-name >
  11. < filter-class > org.apache.tapestry.TapestryFilter filter-class >
  12. filter >
  13. < filter-mapping >
  14. < filter-name > app filter-name >
  15. < url-pattern > /* url-pattern >
  16. filter-mapping >
  17. web-app >

你可以以你想要得任何名称命名过滤器,尽管 ”app” 是一个通常的约定。

在这个例子里,页面类将被存入在 org.example.myapp.pages 包里(或者在它下面的子包里)。同样,组件类将被存放在 org.example.myapp.components 包里(或者在它下面的子包里)。

  • Tapestry 请求 挑战 容器请求

Tapestry 过滤器匹配所有请求应用于 Tapestry ,并且传递 rest off 给 servlet 容器

在有命名冲突的时候,web应用里的真实文件优于Tapestry页。

Tapestry 承认 root URL,servlet 路径是一个简单的 ”/”, 并且呈现的应用页面是 ”Start” 页,如果它存在的话。

  • Tapestry IoC 配置

大部分其他的配制发生在你的应用模块建造者类里。这个应用模块建造者将经常定义新的服务,提供替换服务或者制 造贡献( contributions )给服务配置。

Tapestry 在 services 包里寻找一个模块建造者类 ( 在 root 包下 ) 他由首字母大写的 < filter-name > ( App )和附加的 ”Module” 构成。在前面的例子里,模块建造者类应该是 org.example.myapp.services.AppModule 。

如果有一个这样的类存在,他被增加到 IoC 注册中。在你的应用中没有模块这也不是个错误, 尽管任何重要的应用都可能有一个模块。

  • 配置符号

Tapestry 还可以通过符号( symbols )被配置。一定数量内建服务(某些甚至不是公共的)通过符号被配置。 这些符号可以替换提供给 tapestry.ioc.ApplicationDefaults 服务的配置。 或从命令行确定 jvm 系统性能添加 -D 命令行选项。

  • tapestry.default-cookie-max-age

默认的期限,很短。 Tapestry 创建的cookies将被保存在客户端浏览器。默认值是一周。

主要的,这个要使用存在于用户首选本地化踪迹的 cookie 。

  • tapestry.file-check-interval

文件系统检查的间隙(毫秒内)。当一个文件系统检 查时,只有一个活动的线程(所有其他的被闭塞)并且任何文件加载都被检查是否改变(这是自动组件重载的一部分)。

默认值是 1000 (一秒),在产品 期通常应该用一个更大的值来替换它(比方,在 1 到 5 分钟)。

  • tapestry.scriptaculous

路径是 Tapesty 内置 拷贝 script.taculo.us 包的路径。这个值可以被替换成不同版本的 script.taculo.us 库。 Tapestry 使用的默认版本是 1.7.0 ( 包括 Prototype 1.5.0)

  • tapestry.supported-locales

本地化资源支持一个逗号分隔的列表。引入的请求作 为“ narrowed ”给这些本地化中的一个,基于最接近匹配原则。如果没有找到匹配的,在这个加工过的列表里的第一个资 源就作为默认的。

当前默认为 ”en”

  • tapestry.start-page-name

启始页(对于root URL呈现的页面)的逻辑名,通常名为“start”。

发表评论

表情:
评论列表 (有 0 条评论,264人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Tapestry框架概述

    Tapestry带来了真正的Java web应用程序OOP编程,摘自《深入浅出Tapestry》中的一句话。这本书也是我学习Tapestry的参考之一,其他参考资料如《Tape