added sample for tiles annotations Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/e50c37c5 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/e50c37c5 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/e50c37c5
Branch: refs/heads/master Commit: e50c37c5ba5781900edf53f9ec71b8649471d448 Parents: 9ac326a Author: cnenning <cnenn...@apache.org> Authored: Fri Jan 22 15:27:50 2016 +0100 Committer: cnenning <cnenn...@apache.org> Committed: Fri Jan 22 15:27:50 2016 +0100 ---------------------------------------------------------------------- .../showcase/tiles/TilesAnnotationsAction.java | 21 +++++++++ apps/showcase/src/main/webapp/WEB-INF/tiles.xml | 6 +++ .../src/main/webapp/WEB-INF/tiles/body.jsp | 49 +++++++++++--------- .../webapp/WEB-INF/tiles/layout-annotations.jsp | 14 ++++++ 4 files changed, 67 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/struts/blob/e50c37c5/apps/showcase/src/main/java/org/apache/struts2/showcase/tiles/TilesAnnotationsAction.java ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/tiles/TilesAnnotationsAction.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/tiles/TilesAnnotationsAction.java new file mode 100644 index 0000000..997db11 --- /dev/null +++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/tiles/TilesAnnotationsAction.java @@ -0,0 +1,21 @@ +package org.apache.struts2.showcase.tiles; + +import org.apache.struts2.convention.annotation.Namespace; +import org.apache.struts2.convention.annotation.ParentPackage; +import org.apache.struts2.convention.annotation.Result; +import org.apache.struts2.tiles.annotation.TilesDefinition; +import org.apache.struts2.tiles.annotation.TilesPutAttribute; + +import com.opensymphony.xwork2.ActionSupport; + +@Namespace("/tiles") +@ParentPackage("tiles") +@Result(name = "success", type="tiles") +@TilesDefinition(extend = "showcase.annotations", putAttributes = { + @TilesPutAttribute(name = "header", value = "/WEB-INF/tiles/header.jsp"), + @TilesPutAttribute(name = "body", value = "/WEB-INF/tiles/body.ftl"), }) +public class TilesAnnotationsAction extends ActionSupport { + + private static final long serialVersionUID = 2900509995064928866L; + +} http://git-wip-us.apache.org/repos/asf/struts/blob/e50c37c5/apps/showcase/src/main/webapp/WEB-INF/tiles.xml ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/tiles.xml b/apps/showcase/src/main/webapp/WEB-INF/tiles.xml index 027f9a4..d644502 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/tiles.xml +++ b/apps/showcase/src/main/webapp/WEB-INF/tiles.xml @@ -45,4 +45,10 @@ <put-attribute name="body" value="/WEB-INF/tiles/body.ftl"/> </definition> + <definition name="showcase.annotations" template="/WEB-INF/tiles/layout-annotations.jsp"> + <put-attribute name="title" value="Tiles Annotations Showcase"/> + <put-attribute name="header" value=".header"/> + <put-attribute name="body" value=".body"/> + </definition> + </tiles-definitions> http://git-wip-us.apache.org/repos/asf/struts/blob/e50c37c5/apps/showcase/src/main/webapp/WEB-INF/tiles/body.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/tiles/body.jsp b/apps/showcase/src/main/webapp/WEB-INF/tiles/body.jsp index e2e3512..ca9d10d 100644 --- a/apps/showcase/src/main/webapp/WEB-INF/tiles/body.jsp +++ b/apps/showcase/src/main/webapp/WEB-INF/tiles/body.jsp @@ -1,24 +1,27 @@ -<%@taglib prefix="s" uri="/struts-tags" %> -<div class="container-fluid"> - <div class="row"> - <div class="col-md-12"> - <div> - <p>This example illustrates the Struts/Tiles Plugin.</p> - - <p>Tiles 2 is an effort to extract the Tiles library from Struts. It is currently housed - in the Sandbox area of the Apache Struts Subversion repository.</p> - - <h4>Features</h4> - <ul> - <li> - <a href="freemarker.action">View FreeMarker Example</a> - </li> - <li> - <a href="freemarkerLayout.action">View Example with a FreeMarker Layout</a> - </li> - </ul> - - </div> - </div> - </div> +<%@taglib prefix="s" uri="/struts-tags" %> +<div class="container-fluid"> + <div class="row"> + <div class="col-md-12"> + <div> + <p>This example illustrates the Struts/Tiles Plugin.</p> + + <p>Tiles 2 is an effort to extract the Tiles library from Struts. It is currently housed + in the Sandbox area of the Apache Struts Subversion repository.</p> + + <h4>Features</h4> + <ul> + <li> + <a href="freemarker.action">View FreeMarker Example</a> + </li> + <li> + <a href="freemarkerLayout.action">View Example with a FreeMarker Layout</a> + </li> + <li> + <a href="tiles-annotations.action">View Example with tiles configuration by annotating action</a> + </li> + </ul> + + </div> + </div> + </div> </div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts/blob/e50c37c5/apps/showcase/src/main/webapp/WEB-INF/tiles/layout-annotations.jsp ---------------------------------------------------------------------- diff --git a/apps/showcase/src/main/webapp/WEB-INF/tiles/layout-annotations.jsp b/apps/showcase/src/main/webapp/WEB-INF/tiles/layout-annotations.jsp new file mode 100644 index 0000000..5609cb1 --- /dev/null +++ b/apps/showcase/src/main/webapp/WEB-INF/tiles/layout-annotations.jsp @@ -0,0 +1,14 @@ +<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> +<%@ taglib prefix="s" uri="/struts-tags" %> + +<%-- Show usage; Used in Header --%> +<tiles:importAttribute name="title" scope="request"/> +<html> + <head><title>Struts2 Showcase - <tiles:getAsString name="title"/></title></head> +<body> + <tiles:insertAttribute name="header"/> + <tiles:insertAttribute name="body"/> + <p>Notice that this is a layout made in JSP</p> + <p>It is configured with <strong>annotations!</strong></p> +</body> +</html>