jsserv


Serverside Javascript DOM manipulating as Spring Interceptor

JsServ contains a set of spring components that allow running the scripts in a website on the server side in case a user has no support for JavaScript or has disabled it.

http://fforw.de/static/image/user/fforw/jsserv.png

The DOMInterceptor intercepts the HTML output of other controller and initializes a dom state with it. The document itself is parsed into a DOM tree and the referenced scripts are loaded and executed. Additional patch scripts can be defined to alter the behaviour of other scripts.

The current version adds

...

Links around every element for which a onclick handler is registered. The links point to a DOMEvent Controller that triggers updates in the user's DOM State.

A little example scripts implements a collapsable tree that changes the style classes of nested unordered lists. With the JsServ DOM Manipulation this works with JavaScript as well as without JavaScript on the client side.

While this code is only a rough sketch it promises a lot in terms of vastly reducing the amount of work for sites that must use JavaScript to get an optimal user experience but who cannot or want not to have a java-script only site. Although the link-as-click event method is rather limited, it is good enough to make a lot of DOM manipulations possible. Expressed only once in JavaScript. Running in it's deluxe form for people with client-side JavaScript and in a basic form for people with the help of using server-side JavaScript. All is seamlessly integratable into all kinds of Controllers.

HowToGetStarted

Project Information

Labels:
Java JavaScript SpringFramework Rhino DOM