Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Major GSP performance patch . 1) Optimizes GSP -> groovy code generat…
…ion (less generated Groovy code, more in the Java base class GroovyPage.). Generates less bytecode -> reduces permgen memory usage. Some performance improvements. 2) Uses StreamCharBuffer for buffering taglib body closure's content and makes it possible to pass the body on to the "upper level" without transforming the output to a java.lang.String in between. "out" reference lookup was improved. "out" is a single proxy to the correct Writer instance. There is a stack for handling the "out" Writer replacement. "body()" in taglib returns a StreamCharBuffer instance instead of a java.lang.String. This might break some plugins. 3) Initial changes for adding support for request or session scoped taglibs. A scope property should be defined when the Taglib bean in created in the app context. This feature isn't active yet. Session scoped taglibs could be used for shopping carts etc. The state can be kept directly in the taglib bean's properties. 4) Taglib can return any object value. Not just a java.lang.String.
- Loading branch information
Showing
48 changed files
with
975 additions
and
530 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.