New version of JSP Controls Tag Library (the Library) is much closer to future official public version 1.0. Since this release no major changes in API is expected. Heck, I am using it for a real website :) so the code has to be stable enough. No more big changes.
Documentation on site is in process of being updated. The biggest change - Accept tag is removed. Check out the samples. Login component may seem very simple, but it showcases most features of the Library and of this release. Now some noticeable news in detail. Accept tag is removed --------------------- Previous versions of the Library used an idea that events must conform to certain format, that is, having specific suffix or prefix. Paul Benedict moved event-dispatching on a new level with EventActionDispatcher that does not require suffixes or prefixes. I liked it so much that I updated the Library along these lines. Previously Accept tag checked whether request contained an event (any event). This is not needed anymore. Instead, handler tags just grab whatever they feel appropriate as an event: <jspc:handler event="logoutEvent"> <% session.removeAttribute("USER"); %> </jspc:handler> Struts Actions also can be used as controller using catch-all Handler tag with no "event" attribute: <jspc:handler> <jsp:include page="/logincomponent.do" /> </jspc:handler> Ajax request sequencing now works --------------------------------- Thanks to Laurie and Frank I implemented ordered Ajax requests. What for? Say, your composite page contains the following components: Main Menu, Change Language, Login/Logout and maybe something else. When a user logs in or out, user status is changed. Main Menu depends on user status, it shows different menu for a guest and for registered user. Change Language component does not depend on user status. So, the choices are: * After logging user in or out reload the whole page, then Main Menu will be reloaded automatically. This worked in previous versions. * Another option is to declare Main Menu as dependant of Login/Logout component. This way, after Login/Logout component is activated on and updated, another XHR is fired to redraw Main Menu. Voila! <jspc:attach source="loginComponent.jsp" dependants="['loginStatusComponent.jsp']" /> Check Login sample for details. No need to use coarse-grained Form and Link tags anymore -------------------------------------------------------- New Prepare tag exports important URLs and pre-built Javascript expressions to page context. These variables can be used with JSTL inside plain HTML to build forms and links, and to insert proper reload expressions. The exported variables are: jspcParentAddress jspcComponentAddress jspcFormOnsubmit jspcInputOnclick The JSP code looks like this: <form action="${jspcComponentAddress}" onsubmit="${jspcFormOnsubmit}"> <label for="username">Username:</label> <input type="text" name="username" value="${username}" /><br/> <label for="password">Password:</label> <input type="text" name="password" value="" /><br/> <input type="submit" name="loginEvent" value="Log In" onclick="${jspcInputOnclick}"/><br/> </form> See their usage in Login/Logout example. This example indeed has it all. Usage of JSTL conditional expressions instead of Render tags ---------------------------------- <c:if test='${empty USER}'> <jsp:include page="loginComponent-viewLogin.jsp" /> </c:if> <c:if test='${not empty USER}'> <jsp:include page="loginComponent-viewLogout.jsp" /> </c:if> Again, see Login sample for details. Compatibility ------------- Some variables are removed or renamed, some tags are renamed too, so... But things will get better from now on, the API is stabilized now. Wendy, Tag Component may see some improvements, but 0.5-compliant code won't break. So, feel free to try :-) Michael. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]