Roskilde University Digital Archive >
RUCs Digitale Projektbibliotek / RU Digital Project Library  >
RUC overbygningsrapporter / RU Projects: Degree Programs >
Projektrapporter og specialer / Projectreports and master thesis >

Please use this identifier to cite or link to this item: http://rudar.ruc.dk/handle/1800/2541

Title: Html template system using java annotations
Authors: Speck, Peter
Advisor: Holst-Christensen, Bo
Keywords: java
annotations
html
templates
Examination Date: 18-Jun-2007
Issue Date: 6-Jun-2007
Abstract: The problems that motivate this project are to (1) solve the lack of separation between html templates and java code when using existing template systems (e.g. embedded language or macros), to (2) solve the lack of scoped declaration of macros and java variables inside template loops, and (3) to solve the lack of validation of template macro definitions at compile time to help finding bugs before the web applications are deployed. Annotations are used as metadata format for specification of the dynamic parts of the html template and 74 annotations are designed for the template system. The html templates don't contain embedded macros and are fully valid html files without any special tags or attributes, and well suited for editing in visual editors. An annotation-based template compiler and runtime are implemented and tested. Strict type checking is performed by the template compiler when it processes the annotations. The compiler generates java source files which enables IDEs to show usages of template macro implementations, i.e. servlet methods and fields. The system provides template looping constructs by using Iterators and automatically instantiating the appropriate inner class for each object returned by the iterator. The inner classes provide scoping for temporary variables used by the loops to avoid polluting the global servlet scope with temporary variables. Tests of annotations as specification format show that the new system provides very concise specifications for common web implementation design patterns and makes servlets easier to maintain.
URI: http://hdl.handle.net/1800/2541
Subject: Thesis
Education: Datalogi / Computer Science - not master thesis
Appears in Collections:Datalogi rapporter / Computer Science Projects
Projektrapporter og specialer / Projectreports and master thesis

Files in This Item:

File Description SizeFormat
book.pdfMain report461,65 kBAdobe PDFView/Open
source-code-appendix.pdfSource code appendix450,36 kBAdobe PDFView/Open


This item is protected by original copyright

Recommend this item

Items in RUDAR are protected by copyright, with all rights reserved, unless otherwise indicated.

 

Valid XHTML 1.0! RUDAR Software Copyright © 2002-2011  Duraspace