How the Ubuntu Templates implement the MVC Model

From OpenCms Wiki
Jump to: navigation, search

One of the Industry objectives when developing JSP’s is to have separation between code and HTML.

This resulted in the MVC model which the Ubuntu project strives to realize Instead of having templates the have complicated Java code on them we have "pure html templates"

We have a sepperate JSP the Controller JSP which has all the Java code for processing and delivering all the required aspects of the page as object properties

A third JSP is provided that uses a HashMap to keep pointers to all the site specific content so that common images, logos banners can be placed on any other web server and rendered as partt of the same page. It even handles limited internationalization so that you can switch between default language (English) and another (Zulu)

With all this complexity removed from the "Template Writer" making new template is now a simple task

We only have to place small scriptlets like this <%=Object.ProperyValue > on the template to render values stored in a hidden layer of Java code

The framework provide all the property values needed to create , breadcrumbs (hierarchical and same-site ) , body content …and even our special high-performance Imageless Style-sheet Rollover Button Menus

Here is an example of how the framework simplifies the creation of templates

<html><head>

<title><%=pageTitle %></title>

<link REL="STYLESHEET" TYPE="text/css" HREF="<%=templateData.getStyleSheetnName() %>">

<cms:editable />

</head>

<%=templateData.getBannerTags() %> 
<br>
<%=stbHCrumb.toString() %>
<br>
<%=templateData.getMenu() %> 
  
<cms:include element="body" editable="true"/>

</html>

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox