[jira] Commented: (TAP5-701) Improvement .properties file
[ https://issues.apache.org/jira/browse/TAP5-701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12709741#action_12709741 ] Ulrich Stärk commented on TAP5-701: --- BTW, we already have this: TAP5-223 Improvement .properties file -- Key: TAP5-701 URL: https://issues.apache.org/jira/browse/TAP5-701 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-core Affects Versions: 5.1.0.5, 5.0.18 Reporter: Tam Du In the current version of Tapestry framework, I can only configure my project in only one .properties file. This is no problem with a simple project but with a complex project which requires other projects. In complex projects, I must copy/paste keys in .properties file from one project to another. It makes me hard to maintain and manage my projects as well as my products. So, I hope that Tapestry can support multi .properties files in each project (especially in the complex projects). For example: I have this code to set the value of key APPLICATION_ CATALOG in file í8n.properties configuration.add (SymbolConstants.APPLICATION_CATALOG, WEB-INF/classes/i18n/i18n.properties); I would like to set the value of key APPLICATION_CATALOG in other file properties, like this: configuration.add (SymbolConstants.APPLICATION_CATALOG, WEB-INF/classes/forum.properties; WEB-INF/classes/shopping.properties; WEB-INF/classes/web.properties; WEB-INF/classes/cms.properties;); -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (TAP5-701) Improvement .properties file
[ https://issues.apache.org/jira/browse/TAP5-701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12709748#action_12709748 ] Tam Du commented on TAP5-701: - Dear Ulrich Stärk, TAP5-233 doesn't support my suggestion. My issue is about the localization and using multi properties files, not about resolving symbols from properties file. Improvement .properties file -- Key: TAP5-701 URL: https://issues.apache.org/jira/browse/TAP5-701 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-core Affects Versions: 5.1.0.5, 5.0.18 Reporter: Tam Du In the current version of Tapestry framework, I can only configure my project in only one .properties file. This is no problem with a simple project but with a complex project which requires other projects. In complex projects, I must copy/paste keys in .properties file from one project to another. It makes me hard to maintain and manage my projects as well as my products. So, I hope that Tapestry can support multi .properties files in each project (especially in the complex projects). For example: I have this code to set the value of key APPLICATION_ CATALOG in file í8n.properties configuration.add (SymbolConstants.APPLICATION_CATALOG, WEB-INF/classes/i18n/i18n.properties); I would like to set the value of key APPLICATION_CATALOG in other file properties, like this: configuration.add (SymbolConstants.APPLICATION_CATALOG, WEB-INF/classes/forum.properties; WEB-INF/classes/shopping.properties; WEB-INF/classes/web.properties; WEB-INF/classes/cms.properties;); -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (TAP5-700) Improve Grid component of Tapestry
[ https://issues.apache.org/jira/browse/TAP5-700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12709753#action_12709753 ] Tam Du commented on TAP5-700: - I'll try using your suggested component. Besides, I found that some users are acquainted with using Grid component and sometimes they want to control the display of the Grid header. I think that it may be easy to serve this requirement. We can add a new attribute for Grid; the attribute name is showHeader. If showHeader =true, the header is visible; if showHeader=false, the header is hidden. Here is the example: table t:type=Grid t:source=weathers t:showHeader=false t:row=weather t:rowsPerPage=2 t:pagerPosition=top t:add=edit, delete t:include=cityName, weatherType, weatherTemperature, visible, weatherTypeModifiedDate style=margin:0px auto; width=95% t:rowClass=prop:evenodd.next . . . /table Improve Grid component of Tapestry -- Key: TAP5-700 URL: https://issues.apache.org/jira/browse/TAP5-700 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-core Affects Versions: 5.1.0.5, 5.0.18 Reporter: Tam Du When using Grid component of Tapestry, I found that we should have an option to display/not display the header of the Grid. The reason of this requirement is: when developing my product, in some cases, I need to use Grid but I don't want to display the header of that grid. For example, I use Tapestry to write the list topic page of this website http://62.101.68.227:/snippetrepobrowser/, the header of Grid is unnecessary. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (TAP5-705) Let a page choose its layout
Let a page choose its layout Key: TAP5-705 URL: https://issues.apache.org/jira/browse/TAP5-705 Project: Tapestry 5 Issue Type: Wish Components: tapestry-core Affects Versions: 5.0.18 Reporter: Borut Bolcina It would be great if a page could dynamically choose its layout. In some cases the page would use Layout1 component and in some cases Layout2. The t:type=${layout} does not get expanded to whatever I set in Index.java. PageWithLayout.tml === div t:type=${layout} xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; ppage with ${layout}/p /div PageWithLayout.java === public class PageWithLayout { private String layout; public String getLayout() { return layout; } public void setLayout(String layout) { this.layout = layout; } } Index.tml === t:actionlink t:id=PageWithLayout1layout1/t:actionlinkbr/ t:actionlink t:id=PageWithLayout2layout2/t:actionlink Index.java === public class Index { @InjectPage private PageWithLayout pageWithLayout; Object onActionFromPageWithLayout1() { pageWithLayout.setLayout(layout1); return pageWithLayout; } Object onActionFromPageWithLayout2() { pageWithLayout.setLayout(layout2); return pageWithLayout; } } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Reopened: (TAP5-697) Tapestry_improvement_ideas
[ https://issues.apache.org/jira/browse/TAP5-697?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tam Du reopened TAP5-697: - I know that OutputRaw component can do that. However, I want to explain my idea. At first, please consider my example: I have the string Hello. I store it in the database. My software will filter this string like this lt;Hellogt; and store it in database. In .tml file, I have 2 variables ${hello1} and ${hello2}. In java file, I have 2 methods getHello1() {...} returns my original string Hello. getHello2() {...} returns my stored String in database. Therefore, it returns lt;Hellogt;. I hope that when running this example, it will show string lt;Hellogt; 2 times. But the result is 2 different strings: lt;Hellogt; and amp;lt;Helloamp;gt;. I agree that it should be always filter the HTML data. But it also should check if the HTML data was already filtered. If the data have been filtered already, Tapestry should not filter it anymore. Tapestry_improvement_ideas -- Key: TAP5-697 URL: https://issues.apache.org/jira/browse/TAP5-697 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-core Affects Versions: 5.1.0.5, 5.0.18 Reporter: Tam Du Attachments: DisableHtmlTag.java In the tml file, we should not disable html the second time, that is, if it is already disabled, then should not disable again. For more details, I attach here my file DisableHTMLTag.java which I have been using to not disable html the second time. I hope that you can improve this feature in the next version. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (TAP5-706) In an AJAX response multiple Javascript files are included. This should be reduced to include the needed files only once to minimise the response size
In an AJAX response multiple Javascript files are included. This should be reduced to include the needed files only once to minimise the response size -- Key: TAP5-706 URL: https://issues.apache.org/jira/browse/TAP5-706 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.1.0.5 Reporter: Andrej Aschenbrenner Priority: Minor Having a Mixin: @IncludeJavaScriptLibrary(value = { ../h4p.js, AjaxEvent.js }) @MixinAfter public class AjaxEvent { ... which includes per @IncludeJavaScriptLibrary many Javascript files and when this Mixin is attached to multiple Components then the following AJAX response is sent back (snippet from the AJAX response): ...,scripts:[/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js,/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js,/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js,/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js,/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js,/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js,/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js,/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js,/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js,/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js,/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js,/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js,/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js,/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js,/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js],script:Tapestry.decimalFormatSymbols = {\minusSign\:\-\,\groupingSeparator\:\.\,\decimalSeparator\:\,\}. This could be reduced to: ...,scripts:[/Test/assets/app/cce8dc1a4ba1736d/h4p.js,/Test/assets/app/cce8dc1a4ba1736d/mixins/AjaxEvent.js],script:Tapestry.decimalFormatSymbols = {\minusSign\:\-\,\groupingSeparator\:\.\,\decimalSeparator\:\,\}. Thanks, Andrej Aschenbrenner -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (TAP5-697) Tapestry_improvement_ideas
[ https://issues.apache.org/jira/browse/TAP5-697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12709816#action_12709816 ] Filip S. Adamsen commented on TAP5-697: --- Problem is, there's no way for Tapestry to *know* that the data has already been filtered - if amp;lt;Helloamp;gt; was the actual, unfiltered data, this wouldn't work. Anyway, just follow Thiago's advice and ust OutputRaw or create a raw binding prefix if it's something you'll need to do a lot. You could even make an alwaysraw binding prefix to do what you want. But it's not something that should be changed in Tapestry - that's my €0.02 anyway. Tapestry_improvement_ideas -- Key: TAP5-697 URL: https://issues.apache.org/jira/browse/TAP5-697 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-core Affects Versions: 5.1.0.5, 5.0.18 Reporter: Tam Du Attachments: DisableHtmlTag.java In the tml file, we should not disable html the second time, that is, if it is already disabled, then should not disable again. For more details, I attach here my file DisableHTMLTag.java which I have been using to not disable html the second time. I hope that you can improve this feature in the next version. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (TAP5-697) Tapestry_improvement_ideas
[ https://issues.apache.org/jira/browse/TAP5-697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12709819#action_12709819 ] Robert Zeigler commented on TAP5-697: - As pointed out, this is the purpose of the OutputRaw component. And as Filip said, there's no way for tapestry to know whether the data has been filtered or not. This is knowledge you must explicitly declare as a user. And the way to declare that knowledge is to use the OutputRaw component. Or, as Filip suggested, look into creating a raw binding prefix. Tapestry_improvement_ideas -- Key: TAP5-697 URL: https://issues.apache.org/jira/browse/TAP5-697 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-core Affects Versions: 5.1.0.5, 5.0.18 Reporter: Tam Du Attachments: DisableHtmlTag.java In the tml file, we should not disable html the second time, that is, if it is already disabled, then should not disable again. For more details, I attach here my file DisableHTMLTag.java which I have been using to not disable html the second time. I hope that you can improve this feature in the next version. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Closed: (TAP5-697) Tapestry_improvement_ideas
[ https://issues.apache.org/jira/browse/TAP5-697?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Zeigler closed TAP5-697. --- Assignee: Robert Zeigler Tapestry_improvement_ideas -- Key: TAP5-697 URL: https://issues.apache.org/jira/browse/TAP5-697 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-core Affects Versions: 5.1.0.5, 5.0.18 Reporter: Tam Du Assignee: Robert Zeigler Attachments: DisableHtmlTag.java In the tml file, we should not disable html the second time, that is, if it is already disabled, then should not disable again. For more details, I attach here my file DisableHTMLTag.java which I have been using to not disable html the second time. I hope that you can improve this feature in the next version. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Closed: (TAP5-705) Let a page choose its layout
[ https://issues.apache.org/jira/browse/TAP5-705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thiago H. de Paula Figueiredo closed TAP5-705. -- Resolution: Won't Fix This cannot be implemented in Tapestry without huge architectural changes, as it is dynamic structure, and Tapestry is implemented under the static structure, dynamic behaviour philosophy. In addition, it would handle layout components in a different way from normal components, something Tapestry 5 does not do. Anyway, this can be implemented using blocks and the Delegate component: create a Layout component and use Delegate inside it, not inside the pages. Let a page choose its layout Key: TAP5-705 URL: https://issues.apache.org/jira/browse/TAP5-705 Project: Tapestry 5 Issue Type: Wish Components: tapestry-core Affects Versions: 5.0.18 Reporter: Borut Bolcina It would be great if a page could dynamically choose its layout. In some cases the page would use Layout1 component and in some cases Layout2. The t:type=${layout} does not get expanded to whatever I set in Index.java. PageWithLayout.tml === div t:type=${layout} xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; ppage with ${layout}/p /div PageWithLayout.java === public class PageWithLayout { private String layout; public String getLayout() { return layout; } public void setLayout(String layout) { this.layout = layout; } } Index.tml === t:actionlink t:id=PageWithLayout1layout1/t:actionlinkbr/ t:actionlink t:id=PageWithLayout2layout2/t:actionlink Index.java === public class Index { @InjectPage private PageWithLayout pageWithLayout; Object onActionFromPageWithLayout1() { pageWithLayout.setLayout(layout1); return pageWithLayout; } Object onActionFromPageWithLayout2() { pageWithLayout.setLayout(layout2); return pageWithLayout; } } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Closed: (TAP5-704) Tapestry webapp locks files in WEB-INF/lib, preventing clean re-deploy without restarting Tomcat.
[ https://issues.apache.org/jira/browse/TAP5-704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thiago H. de Paula Figueiredo closed TAP5-704. -- Resolution: Invalid Tomcat is locking the JAR files, not Tapestry, so it's not a Tapestry issue. Take a look at http://tomcat.apache.org/tomcat-6.0-doc/config/context.html and search for http://tomcat.apache.org/tomcat-6.0-doc/config/context.html. Tapestry webapp locks files in WEB-INF/lib, preventing clean re-deploy without restarting Tomcat. - Key: TAP5-704 URL: https://issues.apache.org/jira/browse/TAP5-704 Project: Tapestry 5 Issue Type: Bug Components: quickstart, tapestry-core Affects Versions: 5.1.0.5 Reporter: John Crim Repro steps: 1. Run the Tapestry quickstart archetype (v 5.1.0.5) in NetBeans 2. Run it in the latest version of Tomcat (6.0.18). (note that NetBeans does the equivalent of running the exploded WAR in the /target dir directly within Tomcat) 3. View the site in a browser (to start Tapestry) 4. Undeploy the webapp in the Server window 5. Rebuild the webapp (mvn clean package) and try to deploy it. - the clean will fail with an error like: Failed to delete directory: C:\dev\tapestry\webAppB\target. Reason: Unable to delete file C:\dev\tapestry\webAppB\target\webAppB\WEB-INF\lib\antlr-runtime-3.1.1.jar In short, this flaw adds significant time to each iteration during development. And, if a developer doesn't understand that Tapestry webapps don't undeploy properly, they can easily waste time with bugs that arise because old code is still running in tomcat. The workaround is to shutdown tomcat before rebuilding the webapp (mvn clean) each time. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (TAP5-705) Let a page choose its layout
[ https://issues.apache.org/jira/browse/TAP5-705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Zeigler updated TAP5-705: Attachment: example.tgz Attaching a webapp illustrating a dynamically selected layout, done in today's tapestry. This is just a proof of principle, basic implementation. Extract the example, then: cd example mvn jetty:run point your browser to http://localhost:8080/example Try out the links. Examine the source. Let a page choose its layout Key: TAP5-705 URL: https://issues.apache.org/jira/browse/TAP5-705 Project: Tapestry 5 Issue Type: Wish Components: tapestry-core Affects Versions: 5.0.18 Reporter: Borut Bolcina Attachments: example.tgz It would be great if a page could dynamically choose its layout. In some cases the page would use Layout1 component and in some cases Layout2. The t:type=${layout} does not get expanded to whatever I set in Index.java. PageWithLayout.tml === div t:type=${layout} xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; ppage with ${layout}/p /div PageWithLayout.java === public class PageWithLayout { private String layout; public String getLayout() { return layout; } public void setLayout(String layout) { this.layout = layout; } } Index.tml === t:actionlink t:id=PageWithLayout1layout1/t:actionlinkbr/ t:actionlink t:id=PageWithLayout2layout2/t:actionlink Index.java === public class Index { @InjectPage private PageWithLayout pageWithLayout; Object onActionFromPageWithLayout1() { pageWithLayout.setLayout(layout1); return pageWithLayout; } Object onActionFromPageWithLayout2() { pageWithLayout.setLayout(layout2); return pageWithLayout; } } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (TAP5-708) Element.forceAttribute uses the element's namespace to match the attribute.
Element.forceAttribute uses the element's namespace to match the attribute. --- Key: TAP5-708 URL: https://issues.apache.org/jira/browse/TAP5-708 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.1.0.5, 5.1.0.4 Reporter: Josh Canfield Priority: Minor The method Element.forceAttributes uses the namespace attribute of the element when calling Element.updateAttribute. Attributes are by default in the global namespace, which is an empty string, not in the namespace of the element. There is no way to specify an alternate namespace to search. It seems the more accurate behavior for this method would be to pass the empty string as the namespace. The class would need to specify a separate method to that accepts a namespace. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (TAP5-709) Element.attribute(String name, String value) adds elements that already exist
Element.attribute(String name, String value) adds elements that already exist - Key: TAP5-709 URL: https://issues.apache.org/jira/browse/TAP5-709 Project: Tapestry 5 Issue Type: Bug Components: tapestry-core Affects Versions: 5.1.0.5, 5.1.0.4 Reporter: Josh Canfield Priority: Minor Element.attribute(String name, String value) passes null to Element.attribute(String namespace, String name, String value). The attribute stores the empty string for elements in the global namespace so there is never a match, and thus the new attribute is appended to the chain. Perhaps there should be a Document.GLOBAL_NAMESPACE_URI constant? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (TAP5-704) Tapestry webapp locks files in WEB-INF/lib, preventing clean re-deploy without restarting Tomcat.
[ https://issues.apache.org/jira/browse/TAP5-704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12710050#action_12710050 ] John Crim commented on TAP5-704: I think there's a cut and paste error in your comment - search for ?? Thanks for the info. To clarify for anyone else who looks at this issue, this issue is (most likely) Windows specific, b/c Java gets file locking wrong. The fix is to add antiResourceLocking to META-INF/context.xml or tomcat/conf/context.xml: Context path=/myWebApp antiResourceLocking=true / This allows redeploying a Tomcat webapp without shutting down Tomcat, manually deleting the webapp, and re-starting Tomcat. Note 2 things: * antiResourceLocking is not compatible with Tapestry's template and code reloading feature, b/c Tomcat implements it by copying the webapp files to a temp directory * You probably don't want antiResourceLocking enabled in a production webapp Tapestry webapp locks files in WEB-INF/lib, preventing clean re-deploy without restarting Tomcat. - Key: TAP5-704 URL: https://issues.apache.org/jira/browse/TAP5-704 Project: Tapestry 5 Issue Type: Bug Components: quickstart, tapestry-core Affects Versions: 5.1.0.5 Reporter: John Crim Repro steps: 1. Run the Tapestry quickstart archetype (v 5.1.0.5) in NetBeans 2. Run it in the latest version of Tomcat (6.0.18). (note that NetBeans does the equivalent of running the exploded WAR in the /target dir directly within Tomcat) 3. View the site in a browser (to start Tapestry) 4. Undeploy the webapp in the Server window 5. Rebuild the webapp (mvn clean package) and try to deploy it. - the clean will fail with an error like: Failed to delete directory: C:\dev\tapestry\webAppB\target. Reason: Unable to delete file C:\dev\tapestry\webAppB\target\webAppB\WEB-INF\lib\antlr-runtime-3.1.1.jar In short, this flaw adds significant time to each iteration during development. And, if a developer doesn't understand that Tapestry webapps don't undeploy properly, they can easily waste time with bugs that arise because old code is still running in tomcat. The workaround is to shutdown tomcat before rebuilding the webapp (mvn clean) each time. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (TAP5-705) Let a page choose its layout
[ https://issues.apache.org/jira/browse/TAP5-705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12710075#action_12710075 ] Borut Bolcina commented on TAP5-705: Thanks Robert for sharing, I will look the code ASAP. Let a page choose its layout Key: TAP5-705 URL: https://issues.apache.org/jira/browse/TAP5-705 Project: Tapestry 5 Issue Type: Wish Components: tapestry-core Affects Versions: 5.0.18 Reporter: Borut Bolcina Attachments: example.tgz It would be great if a page could dynamically choose its layout. In some cases the page would use Layout1 component and in some cases Layout2. The t:type=${layout} does not get expanded to whatever I set in Index.java. PageWithLayout.tml === div t:type=${layout} xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd; ppage with ${layout}/p /div PageWithLayout.java === public class PageWithLayout { private String layout; public String getLayout() { return layout; } public void setLayout(String layout) { this.layout = layout; } } Index.tml === t:actionlink t:id=PageWithLayout1layout1/t:actionlinkbr/ t:actionlink t:id=PageWithLayout2layout2/t:actionlink Index.java === public class Index { @InjectPage private PageWithLayout pageWithLayout; Object onActionFromPageWithLayout1() { pageWithLayout.setLayout(layout1); return pageWithLayout; } Object onActionFromPageWithLayout2() { pageWithLayout.setLayout(layout2); return pageWithLayout; } } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.