There are a number of reasons. Convention over configuration. Your @Page annotation is just another bit of configuration that is obviated by putting classes in a known directory. Although the layout mandated by T5 is required, it is also the layout that I recommended for T4, even though more configuration was necessary there. Rather than having page classes scattered about, the mandated structure means that there is a very natural and predictable mapping from class name to logical name (the logical name being the name that appears in URLs).
Class loading: As pointed out elsewhere in this thread, having the specific packages allows Tapestry to greatly reduce the number of files it must scan at startup time (and then monitor for changes). T5 page, component and mixin classes must be kept separate for ordinary classes, as Tapestry does sophisticated conversion of the classes as they are loaded. You compared against JPA but JPA does its bytecode enhancement at build time. Tapestry does it at runtime, which is integrated into T5's automatic reloading of changed (component) classes. On Dec 26, 2007 3:09 AM, Mohammad Shamsi <[EMAIL PROTECTED]> wrote: > Hi, > > i want to know that why i should place my pages and components in special > folder ? > > any idea ? > -- > sincerely yours > M. H. Shamsi > -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]