* added support for jquery.ajax 'feature' that creates parameter names like 'name[]'. ztemplates will remove the trailing [] so you can use a private String[] name in your actions code to match that value.
* now can use private fields in Actions for request parameters, no need to declare getter and setter anymore
* added method ZIRenderService.render(JSONArray)
* added support for context parameter property "ztemplates.devMode" (servletContext.getInitParameter("ztemplates.devMode")) that disables as many caches as possible to support tools like JRebel for no redeploy
* added devMode /ztemplates/devMode/refresh url to refresh most cached data, like url match tree
* added devMode /ztemplates/devMode/actions to show actions and matched urls
* added support for Lists of ZIForms in Forms -> dynamic forms
* added support for spring @Component annotation for classes annotated with @ZScriptDefinition
* Fixed a bug in zscript.js related to console output
* Added method render with parameter JSONObject to ZIServletService
* added zscript.js: a small javascript framework for creating ajax-based applications
* added support for zscript javascript library, consists of annotation @ZScriptDefinition
* added public void initPropertyNames(ZIForm form, String formId) to ZIFormService to allow unique ids in forms when using multiple forms on the same page
* fixed a bug that occurs when one declares a public field and a getter for form property or operation
* now can expose private fields in view pojos, takes precedence over methods
* added SPRING_NAME constants to spring compatible beans/services
one change in how ZFormProperty generates the ids of form input elements, the ids are now compatible with jQuery selectors
* added support for spring autowiring in action pojos just annotate action with @Component
* added spring support for ztemplates services, they can now be autowired to action pojos
* fixed a bug that prevented loading the velocity.properties file from a webapps WEB-INF/velocity.properties
* added ztemplates.velocity.nocache=true webapp context parameter to disable cache settings from velocity
* fixed a bug that prevented velocity.properties to be loaded from WEB-INF/velocity.properties
* added support for afterSubmit callback for form processing
* added validate method to ZOperation
Also see http://www.ztemplates.org/Wiki.jsp?page=Changelog for ongoing changelog
ztemplates-2.1.0 (Released)
* fixed a bug that happens when creating urls from outside a http request (like a Job, Quartz or Timer)
* removed the @ZSetter @ZGetter annotations, as name convention is sufficient
* added support for using fields in form pojos instead of setters/getters
* added support for using fields in action pojos instead of setters/getters
* added support for exposing fields in render pojos
* ZTemplates.getRenderService().createJavaScriptId() now creates reproductible ids, to facilitate selenium tests
* ZFormText now uses property name to create JavaScript id, better for selenium tests ... read more
Released version 1.0.0 with maven2 support . Also released a whole bunch of other libraries like jQuery, jQuery-UI, YUI.
There are incompatible changes, see the migration info for details.
Version 1.0.0 comes with better form support and has a complete separation of active and passive components.
api: added ZProperty.label property. This is intended to be used in Error messages for a property.
api: added ZOperation.exec method
demo: added sample AJAX form http://ztemplates.org/samples-form/
api: added ZProperty dependsOn in constructor. Now can declare which property depends on which and use ZProperty.updateValue and updateState to update form state depending on ajax trigger. Does topological sort on dependency graph to call updateValue methods in right order and only once.... read more
bugfix: fixed http://sourceforge.net/tracker/index.php?func=detail&aid=2004808&group_id=157577&atid=804385 tomcat 6.0.16 problem
impl: extracted ztemplates-classpath as a separate project zclasspath, as it is also used in ztest YOU WILL HAVE TO ADD IT TO YOUR WEBAPP
api: now you can create action-pojos with a private default (no arguments) constructor. ztemplates will make the no arguments constructor accessible and call it when handling actions.... read more
ztemplates-ztest is a ztest (structural junit test) for checking application dependencies. See http://ztest.wiki.sourceforge.net for details. It checks the bytecode of your ztemplates application for structural constraints. See http://www.ztemplates.org/Wiki.jsp?page=ApplicationArchitecture
for details.
api: ztemplates will merge, minify, compress and cache the js and css files from @ZScript to improve performance using JSMin. YUI Compressor did not work for all js files...
bugfix: fixed zscript-cycle bug
api: removed ZTemplates.getClasspathService. Access it under ZTemplates.getApplicationService()
api: added ZTemplates.getApplicationService()
impl: internal refactorings to reduce dependencies and improve testability. Reduced dependencies to Java Servlet classes.... read more
api: added support for FreeMarker, which seems to be somewhat faster than Velocity. See article in javaworld Support consists of ZFreeMarkerContextListener for initialisation and ZFreeMarkerRenderer for rendering
impl: removed all Velocity dependencies from ztemplates. Now could deploy without velocity.jar
config: extracted Velocity startup code from ZTemplatesContextListener and put it into separate ZVelocityContextListener. Reason: now you can choose not to use Velocity at all and use FreeMarker or other technology instead. You could also provide your own startup code. You will have to update your existing web-xml... read more
ztemplates-0.9.9.2
api: changed @ZScript variable handling, now the pojo(component) that exposes the ZScript has to provide variable value. Reason: better encapsulation and more typesafe: component can ask for values needed in constructor.
api: when using ZProperty annotation @ZGetter and @ZSetter are no longer required.
impl: added caching with version number for ztemplates.css
impl: if ZScript dependency graph has cycles, only will display warning and remove dependency edges till no more cycles in dependency graph instead of failing... read more
api: added support for autocomplete from JS Array and Flat file from server.
impl: added an expires header to response for js files to avoid reloading.
api: added sample Adobe Flex/Flash integration.
api: added ZIRenderService.createJavaScriptId for creating per request unique ids to use in AJAX code.
api: added support for google searchkey: now can use ${varname} in zscript value. ${varname} will be replaced at runtime with matching value exposed in render-pojo where @ZRenderer(zscript=true).
ztemplates-yui
impl: added overlay http://www.tagger24.com/feeds/1 then place mouse over text.
impl: added menu See running example at http://www.tagger24.com... read more
impl: removed the YUI files from ztemplates-yui.jar to allow simple upgrades. Now only download latest yui_x.x.x.zip, rename to yui_x.x.x.jar and place into WEB-INF/lib.
impl: added sample tooltip, dialog and overlay
Just released ztemplates-yui a sample Yahoo-UI Ajax GUI-Components integration into ztemplates. Intended as a sample on how a AJAX integration into ztemplates can be done.
*** HELP WANTED ***
I would appreciate if someone could help me in extending this first version - integrate the Yahoo UI Components step by step! Please contact me at dev /at/ gerdziegler dot de.
Thanx.
feature: adding support for easy integration of AJAX components like YUI YahooUI integration
sample: added ztemplates-yui project that shows how to integrate ztemplates and YUI. This is not intended to be reused but as an example on how to do it. If someone is interested he could contribute to ztemplates by expanding this to a reusable library. Contact me at dev //@// gerdziegler //.// de
feature: added @ZScript annotation. Provides support for <script src="" type="text/javascript"> declarations on render-pojos that are collected and aggregated by ztemplates, so you need not worry how to deploy the javascript libs in AJAX applications. Also applies to css.... read more
impl: replaced the regex matching algorithm with a tree-based one. Allows better url collision detection.
impl: at first request, the match tree is print to console
api: class ZUrl and ZServletUrl are no longer available. Use ZTemplates.getServletService().createUrl()to create urls.
api: ZIServletService.createUrl() now throws Exception
api: renamed ZISecurityService to [ZIEncryptionService|EncryptionService]... read more
form-api: renamed ZOperationProperty to ZOperation
form-api: if you use ZProperty for the url-variables, ztemplates will automatically call the revalidate method, first for ZProperty and then for ZOperation.
form-api: ZOperation now accepts other properties in the constructor. Its validation state will be marked as error if one of the other properties have an validation error.
api: a empty string assigned to a ZProperty will now be considered as null value.... read more
api: moved ZIRenderService to org.ztemplates.render. A instance will always be exposed to the template under the name renderService, so now you can do $renderService.render($obj) from the template.
bugfix: reading null value from property throws exception
api: removed need to specify both @ZSetter and @ZGetter annotation when using ZProperty
feature: changed ZIServletService.sendRedirect so that it also works with Strings as parameter... read more
api: added support for css fragments. Put css into a file in the same directory as the class annotated with @ZRenderer. ztemplates scans the classpath and aggregates all found css to a css-stylesheet accessible with <LINK rel="stylesheet" href="/your-contextPath/ztemplates.css">
api: added property-framework for forms, that bundles values, validation state and formatting/parsing.
This is a bugfix release
bugfix: url-variables are not correctly url-encoded, so assigned values are scrambled for umlaut or space. fixed
api: added method sendRedirect(action) to [ZIServletService]
api: added method createUrl(action) to [ZIServletService]
added a preview version of a form validation framework