| ~~ $Id$ |
| ~~ |
| ~~ Licensed to the Apache Software Foundation (ASF) under one |
| ~~ or more contributor license agreements. See the NOTICE file |
| ~~ distributed with this work for additional information |
| ~~ regarding copyright ownership. The ASF licenses this file |
| ~~ to you under the Apache License, Version 2.0 (the |
| ~~ "License"); you may not use this file except in compliance |
| ~~ with the License. You may obtain a copy of the License at |
| ~~ |
| ~~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~~ |
| ~~ Unless required by applicable law or agreed to in writing, |
| ~~ software distributed under the License is distributed on an |
| ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ~~ KIND, either express or implied. See the License for the |
| ~~ specific language governing permissions and limitations |
| ~~ under the License. |
| ~~ |
| ----------- |
| Translation of JSP tags |
| ----------- |
| |
| Introduction |
| |
| Tiles JSP tag library changed a lot, to be clearer and simpler than it was |
| before. This means that you need to change ALL of your JSP pages accordingly. |
| |
| Tag library inclusion |
| |
| To include Tiles tag library, write this row on top of your JSP files: |
| |
| --------------------------------------------------------------------- |
| <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> |
| --------------------------------------------------------------------- |
| |
| Tags differences |
| |
| Here is the toughest part: Apache Tiles\u0099 tags differ a lot comparing to Struts |
| Tiles. However, after the change you will notice that the JSP code will be |
| easier to understand. |
| |
| * The <<<\<tiles:insert\>>>> tag replacement |
| |
| The <<<\<tiles:insert\>>>> of Struts-Tiles changed, in the sense that it has |
| been split in different parts and many attributes have been removed. The |
| changes are summarized in the table below. |
| |
| *---------------------------------+----------------------------------+ |
| | <<Struts-Tiles>> | <<Apache Tiles\u0099>> | |
| *---------------------------------+----------------------------------+ |
| | <<<\<tiles:insert\>>>> | <<<\<tiles:insertTemplate\>>>> | |
| | | <<<\<tiles:insertAttribute\>>>> | |
| | | <<<\<tiles:insertDefinition\>>>> | |
| *---------------------------------+----------------------------------+ |
| | <<<component="definition_name">>> | Use <<<\<tiles:insertDefinition name="definition_name"\>>>> | |
| *---------------------------------+----------------------------------+ |
| | <<<attribute="attribute_name">>> | Use <<<\<tiles:insertAttribute name="attribute_name"\>>>> | |
| *---------------------------------+----------------------------------+ |
| | <<<page>>> | <<<template>>> | |
| | <<<template>>> | | |
| *---------------------------------+----------------------------------+ |
| | <<<beanName="bean_name">>> | <<<value="$\{bean_scopeScope.bean_name.bean_property\}">>> | |
| | <<<beanProperty="bean_property">>> | | |
| | <<<beanScope="bean_scope">>> | | |
| *---------------------------------+----------------------------------+ |
| | <<<controllerClass>>> | <<<preparer>>> [1] | |
| | <<<controllerUrl>>> | | |
| *---------------------------------+----------------------------------+ |
| |
| |
| * \[1\] The default behaviour of <<<preparer>>> is to create and use a |
| single instance of the specified class. Anyway it is still possible to use a |
| URL as a preparer under a Struts 1 environment by using the |
| {{{http://svn.apache.org/repos/asf/struts/struts1/trunk/tiles2/}Struts 1 - Apache Tiles\u0099}} |
| integration module, still under development. |
| |
| * Putting and adding attributes values |
| |
| The <<<page>>> attribute type has been removed, use <<<template>>> instead. |
| |
| The rest of the conversion is in the table below. |
| |
| *-------------------------+-----------------------------------------------+ |
| | <<Struts-Tiles>> | <<Apache Tiles\u0099>> | |
| *-------------------------+-----------------------------------------------+ |
| | <<<\<tiles:put\>>>> | <<<\<tiles:putAttribute\>>>> | |
| *-------------------------+-----------------------------------------------+ |
| | <<<\<tiles:putList\>>>> | <<<\<tiles:putAttributeList\>>>> | |
| *-------------------------+-----------------------------------------------+ |
| | <<<\<tiles:add\>>>> | <<<\<tiles:addAttribute\>>>> [2] | |
| | | <<<\<tiles:addListAttribute\>>>> [3] | |
| *-------------------------+-----------------------------------------------+ |
| | <<<content>>> | <<<value>>> | |
| | <<<value>>> | | |
| *-------------------------+-----------------------------------------------+ |
| | <<<direct="true">>> | <<<type="string">>> | |
| *-------------------------+-----------------------------------------------+ |
| | <<<beanName="bean_name">>> | <<<value="$\{bean_scopeScope.bean_name.bean_property\}">>> | |
| | <<<beanProperty="bean_property">>> | | |
| | <<<beanScope="bean_scope">>> | | |
| *---------------------------------+----------------------------------+ |
| |
| * \[2\] <<<\<tiles:addAttribute\>>>> is used when it is needed to add a single |
| attribute to a list attribute. |
| |
| * \[3\] <<<\<tiles:addListAttribute\>>>> is used when it is needed to a list |
| attribute as an element of another list attribute. |
| |
| * Other changes |
| |
| *---------------------------------+--------------------------------------------+ |
| | <<Struts-Tiles>> | <<Apache Tiles\u0099>> | |
| *---------------------------------+--------------------------------------------+ |
| | <<<\<tiles:get\>>>> | <<<\<tiles:insertAttribute\>>>> | |
| *---------------------------------+--------------------------------------------+ |
| | <<<\<tiles:definition scope="scope"\>>>> | Removed, definitions are created in request scope. | |
| *---------------------------------+--------------------------------------------+ |
| | <<<\<tiles:initComponentDefinitions\>>>> | <<<\<tiles:initContainer\>>>> | |
| *---------------------------------+--------------------------------------------+ |
| |
| * Previous Migration Pages |
| |
| ** {{{./index.html}Introduction }} |
| |
| ** {{{./configuration.html}Tiles configuration files}}. |
| |
| * Next Migration Pages |
| |
| ** {{{./apis.html}Java APIs considerations}}. |
| |
| ** {{{./extension.html}Tiles extensions}}. |