Author: apetrelli
Date: Sat Feb 7 22:42:00 2009
New Revision: 741976
URL: http://svn.apache.org/viewvc?rev=741976&view=rev
Log:
TILESSB-4
Storing the Tiles models under a non-default key.
Added:
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/TilesFMModelRepository.java
(with props)
Modified:
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/servlet/TilesFreemarkerServlet.java
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/InsertTemplateFMModel.java
tiles/sandbox/trunk/tiles-test-sandbox/src/main/webapp/layout.ftl
Modified:
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/servlet/TilesFreemarkerServlet.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/servlet/TilesFreemarkerServlet.java?rev=741976&r1=741975&r2=741976&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/servlet/TilesFreemarkerServlet.java
(original)
+++
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/servlet/TilesFreemarkerServlet.java
Sat Feb 7 22:42:00 2009
@@ -1,29 +1,9 @@
package org.apache.tiles.freemarker.servlet;
-import org.apache.tiles.freemarker.template.AddAttributeFMModel;
-import org.apache.tiles.freemarker.template.AddListAttributeFMModel;
-import org.apache.tiles.freemarker.template.DefinitionFMModel;
-import org.apache.tiles.freemarker.template.GetAsStringFMModel;
-import org.apache.tiles.freemarker.template.ImportAttributeFMModel;
-import org.apache.tiles.freemarker.template.InsertAttributeFMModel;
-import org.apache.tiles.freemarker.template.InsertDefinitionFMModel;
-import org.apache.tiles.freemarker.template.InsertTemplateFMModel;
-import org.apache.tiles.freemarker.template.PutAttributeFMModel;
-import org.apache.tiles.freemarker.template.PutListAttributeFMModel;
-import org.apache.tiles.freemarker.template.SetCurrentContainerFMModel;
-import org.apache.tiles.template.AddAttributeModel;
-import org.apache.tiles.template.AddListAttributeModel;
-import org.apache.tiles.template.AttributeResolver;
-import org.apache.tiles.template.DefaultAttributeResolver;
-import org.apache.tiles.template.DefinitionModel;
-import org.apache.tiles.template.GetAsStringModel;
-import org.apache.tiles.template.ImportAttributeModel;
-import org.apache.tiles.template.InsertAttributeModel;
-import org.apache.tiles.template.InsertDefinitionModel;
-import org.apache.tiles.template.InsertTemplateModel;
-import org.apache.tiles.template.PutAttributeModel;
-import org.apache.tiles.template.PutListAttributeModel;
+import org.apache.tiles.freemarker.template.TilesFMModelRepository;
+import freemarker.ext.beans.BeanModel;
+import freemarker.ext.beans.BeansWrapper;
import freemarker.ext.servlet.FreemarkerServlet;
import freemarker.template.Configuration;
@@ -38,30 +18,9 @@
protected Configuration createConfiguration() {
Configuration configuration = super.createConfiguration();
- configuration.setSharedVariable("addAttribute",
- new AddAttributeFMModel(new AddAttributeModel()));
- configuration.setSharedVariable("addListAttribute",
- new AddListAttributeFMModel(new AddListAttributeModel()));
- configuration.setSharedVariable("definition", new DefinitionFMModel(
- new DefinitionModel()));
- AttributeResolver attributeResolver = new DefaultAttributeResolver();
- configuration.setSharedVariable("getAsString", new GetAsStringFMModel(
- new GetAsStringModel(attributeResolver)));
- configuration.setSharedVariable("importAttribute",
- new ImportAttributeFMModel(new ImportAttributeModel()));
- configuration.setSharedVariable("insertAttribute",
- new InsertAttributeFMModel(new InsertAttributeModel(
- attributeResolver)));
- configuration.setSharedVariable("insertDefinition",
- new InsertDefinitionFMModel(new InsertDefinitionModel()));
- configuration.setSharedVariable("insertTemplate",
- new InsertTemplateFMModel(new InsertTemplateModel()));
- configuration.setSharedVariable("putAttribute",
- new PutAttributeFMModel(new PutAttributeModel()));
- configuration.setSharedVariable("putListAttribute",
- new PutListAttributeFMModel(new PutListAttributeModel()));
- configuration.setSharedVariable("setCurrentContainer",
- new SetCurrentContainerFMModel());
+ BeanModel tilesBeanModel = new BeanModel(new TilesFMModelRepository(),
+ BeansWrapper.getDefaultInstance());
+ configuration.setSharedVariable("tiles", tilesBeanModel);
return configuration;
}
Modified:
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/InsertTemplateFMModel.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/InsertTemplateFMModel.java?rev=741976&r1=741975&r2=741976&view=diff
==============================================================================
---
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/InsertTemplateFMModel.java
(original)
+++
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/InsertTemplateFMModel.java
Sat Feb 7 22:42:00 2009
@@ -26,6 +26,7 @@
Map<String, TemplateModel> parms = (Map<String, TemplateModel>) params;
model.start(FreeMarkerUtil.getCurrentContainer(env), env);
FreeMarkerUtil.evaluateBody(body);
+ FreeMarkerUtil.setForceInclude(env, true);
model.end(FreeMarkerUtil.getCurrentContainer(env), FreeMarkerUtil
.getAsString(parms.get("template")), FreeMarkerUtil
.getAsString(parms.get("role")), FreeMarkerUtil
Added:
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/TilesFMModelRepository.java
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/TilesFMModelRepository.java?rev=741976&view=auto
==============================================================================
---
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/TilesFMModelRepository.java
(added)
+++
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/TilesFMModelRepository.java
Sat Feb 7 22:42:00 2009
@@ -0,0 +1,136 @@
+package org.apache.tiles.freemarker.template;
+
+import org.apache.tiles.template.AddAttributeModel;
+import org.apache.tiles.template.AddListAttributeModel;
+import org.apache.tiles.template.AttributeResolver;
+import org.apache.tiles.template.DefaultAttributeResolver;
+import org.apache.tiles.template.DefinitionModel;
+import org.apache.tiles.template.GetAsStringModel;
+import org.apache.tiles.template.ImportAttributeModel;
+import org.apache.tiles.template.InsertAttributeModel;
+import org.apache.tiles.template.InsertDefinitionModel;
+import org.apache.tiles.template.InsertTemplateModel;
+import org.apache.tiles.template.PutAttributeModel;
+import org.apache.tiles.template.PutListAttributeModel;
+
+public class TilesFMModelRepository {
+
+ private AddAttributeFMModel addAttribute;
+
+ private AddListAttributeFMModel addListAttribute;
+
+ private DefinitionFMModel definition;
+
+ private GetAsStringFMModel getAsString;
+
+ private ImportAttributeFMModel importAttribute;
+
+ private InsertAttributeFMModel insertAttribute;
+
+ private InsertDefinitionFMModel insertDefinition;
+
+ private InsertTemplateFMModel insertTemplate;
+
+ private PutAttributeFMModel putAttribute;
+
+ private PutListAttributeFMModel putListAttribute;
+
+ private SetCurrentContainerFMModel setCurrentContainer;
+
+ public TilesFMModelRepository() {
+ addAttribute = new AddAttributeFMModel(new AddAttributeModel());
+ addListAttribute = new AddListAttributeFMModel(
+ new AddListAttributeModel());
+ definition = new DefinitionFMModel(new DefinitionModel());
+ AttributeResolver attributeResolver = new DefaultAttributeResolver();
+ getAsString = new GetAsStringFMModel(new GetAsStringModel(
+ attributeResolver));
+ importAttribute = new ImportAttributeFMModel(new
ImportAttributeModel());
+ insertAttribute = new InsertAttributeFMModel(new InsertAttributeModel(
+ attributeResolver));
+ insertDefinition = new InsertDefinitionFMModel(
+ new InsertDefinitionModel());
+ insertTemplate = new InsertTemplateFMModel(new InsertTemplateModel());
+ putAttribute = new PutAttributeFMModel(new PutAttributeModel());
+ putListAttribute = new PutListAttributeFMModel(
+ new PutListAttributeModel());
+ setCurrentContainer = new SetCurrentContainerFMModel();
+ }
+
+ /**
+ * @return the addAttribute
+ */
+ public AddAttributeFMModel getAddAttribute() {
+ return addAttribute;
+ }
+
+ /**
+ * @return the addListAttribute
+ */
+ public AddListAttributeFMModel getAddListAttribute() {
+ return addListAttribute;
+ }
+
+ /**
+ * @return the definition
+ */
+ public DefinitionFMModel getDefinition() {
+ return definition;
+ }
+
+ /**
+ * @return the getAsString
+ */
+ public GetAsStringFMModel getGetAsString() {
+ return getAsString;
+ }
+
+ /**
+ * @return the importAttribute
+ */
+ public ImportAttributeFMModel getImportAttribute() {
+ return importAttribute;
+ }
+
+ /**
+ * @return the insertAttribute
+ */
+ public InsertAttributeFMModel getInsertAttribute() {
+ return insertAttribute;
+ }
+
+ /**
+ * @return the insertDefinition
+ */
+ public InsertDefinitionFMModel getInsertDefinition() {
+ return insertDefinition;
+ }
+
+ /**
+ * @return the insertTemplate
+ */
+ public InsertTemplateFMModel getInsertTemplate() {
+ return insertTemplate;
+ }
+
+ /**
+ * @return the putAttribute
+ */
+ public PutAttributeFMModel getPutAttribute() {
+ return putAttribute;
+ }
+
+ /**
+ * @return the putListAttribute
+ */
+ public PutListAttributeFMModel getPutListAttribute() {
+ return putListAttribute;
+ }
+
+ /**
+ * @return the setCurrentContainer
+ */
+ public SetCurrentContainerFMModel getSetCurrentContainer() {
+ return setCurrentContainer;
+ }
+}
Propchange:
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/TilesFMModelRepository.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tiles/sandbox/trunk/tiles-freemarker/src/main/java/org/apache/tiles/freemarker/template/TilesFMModelRepository.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified: tiles/sandbox/trunk/tiles-test-sandbox/src/main/webapp/layout.ftl
URL:
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-test-sandbox/src/main/webapp/layout.ftl?rev=741976&r1=741975&r2=741976&view=diff
==============================================================================
--- tiles/sandbox/trunk/tiles-test-sandbox/src/main/webapp/layout.ftl (original)
+++ tiles/sandbox/trunk/tiles-test-sandbox/src/main/webapp/layout.ftl Sat Feb
7 22:42:00 2009
@@ -23,13 +23,13 @@
-->
<table border="2" width="300" bordercolor="Gray">
<tr>
- <td bgcolor="Blue"><strong><@getAsString name="title"/></strong></td>
+ <td bgcolor="Blue"><strong><@tiles.getAsString
name="title"/></strong></td>
</tr>
<tr>
- <td><@insertAttribute name="header"/></td>
+ <td><@tiles.insertAttribute name="header"/></td>
</tr>
<tr>
- <td><@insertAttribute name="body"/></td>
+ <td><@tiles.insertAttribute name="body"/></td>
</tr>
<tr>
<td>This layout is made in FreeMarker.</td>