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.
To include Tiles tag library, write this row on top of your JSP files:
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
Here is the toughest part: Apache Tiles 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> 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 |
<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" beanProperty="bean_property" beanScope="bean_scope" | value="${bean_scopeScope.bean_name.bean_property}" |
controllerClass controllerUrl | preparer [1] |
The page attribute type has been removed, use template instead.
The rest of the conversion is in the table below.
Struts-Tiles | Apache Tiles |
<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" beanProperty="bean_property" beanScope="bean_scope" | value="${bean_scopeScope.bean_name.bean_property}" |