struts-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bphill...@apache.org
Subject svn commit: r1504262 - in /struts/sandbox/trunk/struts2examples: ./ restful2actionmapper/ restful2actionmapper/src/ restful2actionmapper/src/main/ restful2actionmapper/src/main/java/ restful2actionmapper/src/main/java/org/ restful2actionmapper/src/main...
Date Wed, 17 Jul 2013 20:20:01 GMT
Author: bphillips
Date: Wed Jul 17 20:20:00 2013
New Revision: 1504262

URL: http://svn.apache.org/r1504262
Log:
initial commit of example application that shows how to use REST style URLs with Struts 2

Added:
    struts/sandbox/trunk/struts2examples/restful2actionmapper/   (with props)
    struts/sandbox/trunk/struts2examples/restful2actionmapper/README.txt
    struts/sandbox/trunk/struts2examples/restful2actionmapper/pom.xml
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/java/
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/java/org/
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/java/org/apache/
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/java/org/apache/struts/
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/java/org/apache/struts/example/
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/java/org/apache/struts/example/MovieAction.java
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/log4j.dtd
  (with props)
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/log4j.xml
  (with props)
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/struts.xml
  (with props)
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/WEB-INF/
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/WEB-INF/web.xml
  (with props)
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/index.jsp  
(with props)
    struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/movie.jsp
Modified:
    struts/sandbox/trunk/struts2examples/pom.xml

Modified: struts/sandbox/trunk/struts2examples/pom.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/pom.xml?rev=1504262&r1=1504261&r2=1504262&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2examples/pom.xml (original)
+++ struts/sandbox/trunk/struts2examples/pom.xml Wed Jul 17 20:20:00 2013
@@ -50,6 +50,7 @@
     <module>http_session</module>
     <module>preparable_interface</module>
     <module>exclude_parameters</module>
+    <module>restful2actionmapper</module>
   </modules>
   
   	<dependencies>

Propchange: struts/sandbox/trunk/struts2examples/restful2actionmapper/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Jul 17 20:20:00 2013
@@ -0,0 +1,4 @@
+target
+.classpath
+.project
+.settings

Added: struts/sandbox/trunk/struts2examples/restful2actionmapper/README.txt
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/restful2actionmapper/README.txt?rev=1504262&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/restful2actionmapper/README.txt (added)
+++ struts/sandbox/trunk/struts2examples/restful2actionmapper/README.txt Wed Jul 17 20:20:00
2013
@@ -0,0 +1,16 @@
+This is the example project referred to in the
+Struts 2 documentation, REST Style URL tutorial.
+See:  http://struts.apache.org.
+
+To build the application's war file run mvn clean package
+from the project's root folder.
+
+The war file is created in the target sub-folder.
+
+Copy the war file to your Servlet container (e.g. Tomcat, GlassFish) and 
+then startup the Servlet container.
+
+In a web browser go to:  http://localhost:8080/reststyleactionmapper/
+
+You should see a web page with Welcome to Struts 2.
+

Added: struts/sandbox/trunk/struts2examples/restful2actionmapper/pom.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/restful2actionmapper/pom.xml?rev=1504262&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/restful2actionmapper/pom.xml (added)
+++ struts/sandbox/trunk/struts2examples/restful2actionmapper/pom.xml Wed Jul 17 20:20:00
2013
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>struts.apache.org</groupId>
+    <artifactId>struts2examples</artifactId>
+    <version>1.0.0</version>
+  </parent>
+
+	<artifactId>restful2actionmapper</artifactId>
+	<packaging>war</packaging>
+	<name>REST to Action Mapper Example Application</name>
+	<description>Example of using Rest style URLs for 
+  Struts 2 Getting Started tutorials</description>
+	<build>
+		<finalName>reststyleactionmapper</finalName>
+	</build>
+
+</project>

Added: struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/java/org/apache/struts/example/MovieAction.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/java/org/apache/struts/example/MovieAction.java?rev=1504262&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/java/org/apache/struts/example/MovieAction.java
(added)
+++ struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/java/org/apache/struts/example/MovieAction.java
Wed Jul 17 20:20:00 2013
@@ -0,0 +1,51 @@
+package org.apache.struts.example;
+
+import org.apache.log4j.Logger;
+
+import com.opensymphony.xwork2.ActionSupport;
+
+public class MovieAction extends ActionSupport {
+	
+	private static final Logger LOGGER = Logger.getLogger(MovieAction.class.getName() );
+
+	private static final long serialVersionUID = 1L;
+	
+	private String id;
+	
+	/**
+	 * Method is called if url is move/[any value but new] 
+	 * and http get request.  The value after the /
+	 * will be provided to the setId method.
+	 * @return success
+	 */
+	public String view() {
+		
+		LOGGER.debug("Value of id is " + id);
+		
+		return SUCCESS;
+		
+	}
+	
+	/**
+	 * Method is called if url is movie/ .
+	 * No value will be sent to setId.
+	 * @return
+	 */
+	public String index() {
+		
+		
+		LOGGER.debug("Value of id is " + id);
+		
+		return SUCCESS;
+		
+	}
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+}

Added: struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/log4j.dtd
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/log4j.dtd?rev=1504262&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/log4j.dtd
(added)
+++ struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/log4j.dtd
Wed Jul 17 20:20:00 2013
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 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.
+-->
+
+<!-- Authors: Chris Taylor, Ceki Gulcu. -->
+
+<!-- Version: 1.2 -->
+
+<!-- A configuration element consists of optional renderer
+elements,appender elements, categories and an optional root
+element. -->
+
+<!ELEMENT log4j:configuration (renderer*, appender*,plugin*, (category|logger)*,root?,
+                               (categoryFactory|loggerFactory)?)>
+
+<!-- The "threshold" attribute takes a level value below which -->
+<!-- all logging statements are disabled. -->
+
+<!-- Setting the "debug" enable the printing of internal log4j logging   -->
+<!-- statements.                                                         -->
+
+<!-- By default, debug attribute is "null", meaning that we not do touch -->
+<!-- internal log4j logging settings. The "null" value for the threshold -->
+<!-- attribute can be misleading. The threshold field of a repository	 -->
+<!-- cannot be set to null. The "null" value for the threshold attribute -->
+<!-- simply means don't touch the threshold field, the threshold field   --> 
+<!-- keeps its old value.                                                -->
+     
+<!ATTLIST log4j:configuration
+  xmlns:log4j              CDATA #FIXED "http://jakarta.apache.org/log4j/" 
+  threshold                (all|trace|debug|info|warn|error|fatal|off|null) "null"
+  debug                    (true|false|null)  "null"
+  reset                    (true|false) "false"
+>
+
+<!-- renderer elements allow the user to customize the conversion of  -->
+<!-- message objects to String.                                       -->
+
+<!ELEMENT renderer EMPTY>
+<!ATTLIST renderer
+  renderedClass  CDATA #REQUIRED
+  renderingClass CDATA #REQUIRED
+>
+
+<!-- Appenders must have a name and a class. -->
+<!-- Appenders may contain an error handler, a layout, optional parameters -->
+<!-- and filters. They may also reference (or include) other appenders. -->
+<!ELEMENT appender (errorHandler?, param*,
+      rollingPolicy?, triggeringPolicy?, connectionSource?,
+      layout?, filter*, appender-ref*)>
+<!ATTLIST appender
+  name 		CDATA 	#REQUIRED
+  class 	CDATA	#REQUIRED
+>
+
+<!ELEMENT layout (param*)>
+<!ATTLIST layout
+  class		CDATA	#REQUIRED
+>
+
+<!ELEMENT filter (param*)>
+<!ATTLIST filter
+  class		CDATA	#REQUIRED
+>
+
+<!-- ErrorHandlers can be of any class. They can admit any number of -->
+<!-- parameters. -->
+
+<!ELEMENT errorHandler (param*, root-ref?, logger-ref*,  appender-ref?)> 
+<!ATTLIST errorHandler
+   class        CDATA   #REQUIRED 
+>
+
+<!ELEMENT root-ref EMPTY>
+
+<!ELEMENT logger-ref EMPTY>
+<!ATTLIST logger-ref
+  ref CDATA #REQUIRED
+>
+
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+  name		CDATA   #REQUIRED
+  value		CDATA	#REQUIRED
+>
+
+
+<!-- The priority class is org.apache.log4j.Level by default -->
+<!ELEMENT priority (param*)>
+<!ATTLIST priority
+  class   CDATA	#IMPLIED
+  value	  CDATA #REQUIRED
+>
+
+<!-- The level class is org.apache.log4j.Level by default -->
+<!ELEMENT level (param*)>
+<!ATTLIST level
+  class   CDATA	#IMPLIED
+  value	  CDATA #REQUIRED
+>
+
+
+<!-- If no level element is specified, then the configurator MUST not -->
+<!-- touch the level of the named category. -->
+<!ELEMENT category (param*,(priority|level)?,appender-ref*)>
+<!ATTLIST category
+  class         CDATA   #IMPLIED
+  name		CDATA	#REQUIRED
+  additivity	(true|false) "true"  
+>
+
+<!-- If no level element is specified, then the configurator MUST not -->
+<!-- touch the level of the named logger. -->
+<!ELEMENT logger (level?,appender-ref*)>
+<!ATTLIST logger
+  name		CDATA	#REQUIRED
+  additivity	(true|false) "true"  
+>
+
+
+<!ELEMENT categoryFactory (param*)>
+<!ATTLIST categoryFactory 
+   class        CDATA #REQUIRED>
+
+<!ELEMENT loggerFactory (param*)>
+<!ATTLIST loggerFactory
+   class        CDATA #REQUIRED>
+
+<!ELEMENT appender-ref EMPTY>
+<!ATTLIST appender-ref
+  ref CDATA #REQUIRED
+>
+
+<!-- plugins must have a name and class and can have optional parameters -->
+<!ELEMENT plugin (param*, connectionSource?)>
+<!ATTLIST plugin
+  name 		CDATA 	   #REQUIRED
+  class 	CDATA  #REQUIRED
+>
+
+<!ELEMENT connectionSource (dataSource?, param*)>
+<!ATTLIST connectionSource
+  class        CDATA  #REQUIRED
+>
+
+<!ELEMENT dataSource (param*)>
+<!ATTLIST dataSource
+  class        CDATA  #REQUIRED
+>
+
+<!ELEMENT triggeringPolicy ((param|filter)*)>
+<!ATTLIST triggeringPolicy
+  name 		CDATA  #IMPLIED
+  class 	CDATA  #REQUIRED
+>
+
+<!ELEMENT rollingPolicy (param*)>
+<!ATTLIST rollingPolicy
+  name 		CDATA  #IMPLIED
+  class 	CDATA  #REQUIRED
+>
+
+
+<!-- If no priority element is specified, then the configurator MUST not -->
+<!-- touch the priority of root. -->
+<!-- The root category always exists and cannot be subclassed. -->
+<!ELEMENT root (param*, (priority|level)?, appender-ref*)>
+
+
+<!-- ==================================================================== -->
+<!--                       A logging event                                -->
+<!-- ==================================================================== -->
+<!ELEMENT log4j:eventSet (log4j:event*)>
+<!ATTLIST log4j:eventSet
+  xmlns:log4j             CDATA #FIXED "http://jakarta.apache.org/log4j/" 
+  version                (1.1|1.2) "1.2" 
+  includesLocationInfo   (true|false) "true"
+>
+
+
+
+<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?, 
+                       log4j:locationInfo?, log4j:properties?) >
+
+<!-- The timestamp format is application dependent. -->
+<!ATTLIST log4j:event
+    logger     CDATA #REQUIRED
+    level      CDATA #REQUIRED
+    thread     CDATA #REQUIRED
+    timestamp  CDATA #REQUIRED
+    time       CDATA #IMPLIED
+>
+
+<!ELEMENT log4j:message (#PCDATA)>
+<!ELEMENT log4j:NDC (#PCDATA)>
+
+<!ELEMENT log4j:throwable (#PCDATA)>
+
+<!ELEMENT log4j:locationInfo EMPTY>
+<!ATTLIST log4j:locationInfo
+  class  CDATA	#REQUIRED
+  method CDATA	#REQUIRED
+  file   CDATA	#REQUIRED
+  line   CDATA	#REQUIRED
+>
+
+<!ELEMENT log4j:properties (log4j:data*)>
+
+<!ELEMENT log4j:data EMPTY>
+<!ATTLIST log4j:data
+  name   CDATA	#REQUIRED
+  value  CDATA	#REQUIRED
+>

Propchange: struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/log4j.dtd
------------------------------------------------------------------------------
    svn:executable = *

Added: struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/log4j.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/log4j.xml?rev=1504262&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/log4j.xml
(added)
+++ struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/log4j.xml
Wed Jul 17 20:20:00 2013
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+    
+    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
+       <layout class="org.apache.log4j.PatternLayout"> 
+          <param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/> 
+       </layout> 
+    </appender>
+ 
+    <!-- specify the logging level for loggers from other libraries -->
+    <logger name="com.opensymphony">
+    	<level value="DEBUG" />
+    </logger>
+
+    <logger name="org.apache.struts.example">
+    	 <level value="DEBUG" />
+    </logger>
+  
+   <!-- for all other loggers log only debug and above log messages -->
+     <root>
+        <priority value="INFO"/> 
+        <appender-ref ref="STDOUT" /> 
+     </root> 
+    
+</log4j:configuration> 
+

Propchange: struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/log4j.xml
------------------------------------------------------------------------------
    svn:executable = *

Added: struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/struts.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/struts.xml?rev=1504262&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/struts.xml
(added)
+++ struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/struts.xml
Wed Jul 17 20:20:00 2013
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE struts PUBLIC
+    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
+    "http://struts.apache.org/dtds/struts-2.0.dtd">
+
+<struts>
+
+	<constant name="struts.devMode" value="true" />
+
+	<constant name="struts.mapper.class"
+		value="org.apache.struts2.dispatcher.mapper.Restful2ActionMapper" />
+
+	<constant name="struts.enable.SlashesInActionNames" value="true" />
+	
+	<constant name="struts.mapper.alwaysSelectFullNamespace"
+		value="false" />
+		
+	<package name="basicstruts2" extends="struts-default">
+      <!-- the param name="id" with a value of {1} below tells Struts that the 
+      second string (delimited by the /) is the value Struts should pass to the setId method

+      of the MovieAction class - so for example a url of movie/1 will cause
+      1 to be passed to setId method of class MovieAction
+      if no method is specified in the URL then the view method will be called
+      after the setId method -->
+		<action name="movie/*" class="org.apache.struts.example.MovieAction">
+			<param name="id">{1}</param>
+			<result name="success">/movie.jsp</result>
+		</action>
+
+	</package>
+
+</struts>
\ No newline at end of file

Propchange: struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/resources/struts.xml
------------------------------------------------------------------------------
    svn:executable = *

Added: struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/WEB-INF/web.xml?rev=1504262&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/WEB-INF/web.xml
(added)
+++ struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/WEB-INF/web.xml
Wed Jul 17 20:20:00 2013
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+<display-name>REST Style URLs</display-name>
+  <welcome-file-list>
+    <welcome-file>index.jsp</welcome-file>
+  </welcome-file-list>
+  
+  					 
+    <filter>
+        <filter-name>struts2</filter-name>
+        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
+    </filter>
+
+     <filter-mapping>
+        <filter-name>struts2</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+    
+</web-app>

Propchange: struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/WEB-INF/web.xml
------------------------------------------------------------------------------
    svn:executable = *

Added: struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/index.jsp
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/index.jsp?rev=1504262&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/index.jsp (added)
+++ struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/index.jsp Wed
Jul 17 20:20:00 2013
@@ -0,0 +1,14 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+    pageEncoding="ISO-8859-1"%>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>REST Style URLs For Struts 2 - Welcome</title>
+</head>
+<body>
+<h1>Welcome To Struts 2!</h1>
+<p><a href="movie/1">Get movie with id value of 1</a></p>
+</body>
+</html>
\ No newline at end of file

Propchange: struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/index.jsp
------------------------------------------------------------------------------
    svn:executable = *

Added: struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/movie.jsp
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/movie.jsp?rev=1504262&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/movie.jsp (added)
+++ struts/sandbox/trunk/struts2examples/restful2actionmapper/src/main/webapp/movie.jsp Wed
Jul 17 20:20:00 2013
@@ -0,0 +1,14 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+    pageEncoding="ISO-8859-1"%>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>REST Style URLs For Struts 2 - Movie</title>
+</head>
+<body>
+<h1>Movie <s:property value="id" /></h1>
+
+</body>
+</html>
\ No newline at end of file



Mime
View raw message