struts-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jo...@apache.org
Subject svn commit: r1400220 [5/9] - in /struts/struts2/trunk/apps/showcase: ./ src/main/java/org/apache/struts2/showcase/ src/main/java/org/apache/struts2/showcase/action/ src/main/java/org/apache/struts2/showcase/actionchaining/ src/main/java/org/apache/stru...
Date Fri, 19 Oct 2012 18:49:48 GMT
Modified: struts/struts2/trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/xslt/JVMAction.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/xslt/JVMAction.java?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/xslt/JVMAction.java (original)
+++ struts/struts2/trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/xslt/JVMAction.java Fri Oct 19 18:49:39 2012
@@ -20,84 +20,84 @@
  */
 package org.apache.struts2.showcase.xslt;
 
-import java.util.Map;
-import java.util.Properties;
-
 import com.opensymphony.xwork2.ActionSupport;
-
 import org.apache.struts2.interceptor.ServletRequestAware;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+import java.util.Properties;
 
 public class JVMAction implements ServletRequestAware {
 
-    private ImportantInfo info;
-    private Map<String, String> environment;
+	private ImportantInfo info;
+	private Map<String, String> environment;
 
-    /** Captured only to show that undesired data can creep into the result. */
-    private HttpServletRequest servletRequest;
+	/**
+	 * Captured only to show that undesired data can creep into the result.
+	 */
+	private HttpServletRequest servletRequest;
 
 
-    public String execute() {
-        environment = System.getenv();
-        Properties props = System.getProperties();
+	public String execute() {
+		environment = System.getenv();
+		Properties props = System.getProperties();
 
-        String classpath = environment.get("CLASSPATH");
-        info = new ImportantInfo(classpath, props);
+		String classpath = environment.get("CLASSPATH");
+		info = new ImportantInfo(classpath, props);
 
-        return ActionSupport.SUCCESS;
-    }
+		return ActionSupport.SUCCESS;
+	}
 
 
-    public HttpServletRequest getServletRequest() {
-        return servletRequest;
-    }
+	public HttpServletRequest getServletRequest() {
+		return servletRequest;
+	}
 
-    public void setServletRequest(HttpServletRequest servletRequest) {
-        this.servletRequest = servletRequest;
-    }
+	public void setServletRequest(HttpServletRequest servletRequest) {
+		this.servletRequest = servletRequest;
+	}
 
-    public Map<String, String> getEnvironment() {
-        return environment;
-    }
+	public Map<String, String> getEnvironment() {
+		return environment;
+	}
 
-    public void setEnvironment(Map<String, String> environment) {
-        this.environment = environment;
-    }
+	public void setEnvironment(Map<String, String> environment) {
+		this.environment = environment;
+	}
 
 
-    public ImportantInfo getInfo() {
-        return info;
-    }
+	public ImportantInfo getInfo() {
+		return info;
+	}
 
-    public void setInfo(ImportantInfo info) {
-        this.info = info;
-    }
+	public void setInfo(ImportantInfo info) {
+		this.info = info;
+	}
 
-    public class ImportantInfo {
-        private String classpath;
-        private Properties systemProperties;
+	public class ImportantInfo {
+		private String classpath;
+		private Properties systemProperties;
 
 
-        public ImportantInfo(String classpath, Properties properties) {
-            this.classpath = classpath;
-            this.systemProperties = properties;
-        }
+		public ImportantInfo(String classpath, Properties properties) {
+			this.classpath = classpath;
+			this.systemProperties = properties;
+		}
 
-        public String getClasspath() {
-            return classpath;
-        }
+		public String getClasspath() {
+			return classpath;
+		}
 
-        public void setClasspath(String classpath) {
-            this.classpath = classpath;
-        }
+		public void setClasspath(String classpath) {
+			this.classpath = classpath;
+		}
 
-        public Properties getSystemProperties() {
-            return systemProperties;
-        }
+		public Properties getSystemProperties() {
+			return systemProperties;
+		}
 
-        public void setSystemProperties(Properties systemProperties) {
-            this.systemProperties = systemProperties;
-        }
-    }
+		public void setSystemProperties(Properties systemProperties) {
+			this.systemProperties = systemProperties;
+		}
+	}
 }

Modified: struts/struts2/trunk/apps/showcase/src/main/resources/log4j.properties
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/resources/log4j.properties?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/resources/log4j.properties (original)
+++ struts/struts2/trunk/apps/showcase/src/main/resources/log4j.properties Fri Oct 19 18:49:39 2012
@@ -11,9 +11,9 @@
 
 
 # Set root logger level to WARN and append to stdout
-log4j.rootLogger=WARN, stdout
-
+log4j.rootLogger=DEBUG, stdout
 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.Target=System.out
 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
 
 # Pattern to output the caller's file name and line number.
@@ -23,9 +23,14 @@ log4j.appender.stdout.layout.ConversionP
 log4j.logger.noModule=FATAL
 
 # OpenSymphony Stuff
+log4j.logger.freemarker=INFO
 log4j.logger.com.opensymphony=INFO
-log4j.logger.org.apache.struts2=INFO
+log4j.logger.com.opensymphony.xwork2.ognl=ERROR
+log4j.logger.org.apache.struts2=WARN
+log4j.logger.org.apache.struts2.components=WARN
+log4j.logger.org.apache.struts2.dispatcher=WARN
+log4j.logger.org.apache.struts2.convention=INFO
 
 # Spring Stuff
-log4j.logger.org.springframework=INFO
+log4j.logger.org.springframework=WARN
 

Modified: struts/struts2/trunk/apps/showcase/src/main/resources/struts-fileupload.xml
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/resources/struts-fileupload.xml?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/resources/struts-fileupload.xml (original)
+++ struts/struts2/trunk/apps/showcase/src/main/resources/struts-fileupload.xml Fri Oct 19 18:49:39 2012
@@ -20,7 +20,7 @@
 		</action>
 		
 		<action name="doMultipleUploadUsingList" class="org.apache.struts2.showcase.fileupload.MultipleFileUploadUsingListAction" method="upload">
-			<result>multipleUploadUsingList-success.jsp</result>
+			<result>multiple-success.jsp</result>
 		</action>
 
 
@@ -29,7 +29,7 @@
 		</action>
 
 		<action name="doMultipleUploadUsingArray" class="org.apache.struts2.showcase.fileupload.MultipleFileUploadUsingArrayAction" method="upload">
-			<result>multipleUploadUsingArray-success.jsp</result>
+			<result>multiple-success.jsp</result>
 		</action>
 
 

Modified: struts/struts2/trunk/apps/showcase/src/main/resources/struts-hangman.xml
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/resources/struts-hangman.xml?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/resources/struts-hangman.xml (original)
+++ struts/struts2/trunk/apps/showcase/src/main/resources/struts-hangman.xml Fri Oct 19 18:49:39 2012
@@ -5,9 +5,6 @@
 
 <struts>
 	<package name="hangman" extends="struts-default" namespace="/hangman">
-		<action name="hangmanMenu">
-			<result type="freemarker">/hangman/hangmanMenu.ftl</result>
-		</action>
 		<action name="hangmanAjax" class="startHangmanAction">
 			<result type="freemarker">/hangman/hangmanAjax.ftl</result>		
 		</action>

Modified: struts/struts2/trunk/apps/showcase/src/main/resources/struts-tags-non-ui.xml
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/resources/struts-tags-non-ui.xml?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/resources/struts-tags-non-ui.xml (original)
+++ struts/struts2/trunk/apps/showcase/src/main/resources/struts-tags-non-ui.xml Fri Oct 19 18:49:39 2012
@@ -123,5 +123,14 @@
 			<result type="freemarker">/tags/non-ui/ifTag/testIf.ftl</result>
 		</action>
 	</package>
+
+    <!--  ========================================== -->
+    <!--  === Package for Debug Tag              === -->
+    <!--  ========================================== -->
+    <package name="debugTagPackage" extends="struts-default" namespace="/tags/non-ui">
+        <action name="debugTagDemo">
+            <result>/tags/non-ui/debug.jsp</result>
+        </action>
+    </package>
 </struts>
 

Modified: struts/struts2/trunk/apps/showcase/src/main/resources/struts.xml
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/resources/struts.xml?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/resources/struts.xml (original)
+++ struts/struts2/trunk/apps/showcase/src/main/resources/struts.xml Fri Oct 19 18:49:39 2012
@@ -9,7 +9,7 @@
 
     <!-- Some or all of these can be flipped to true for debugging -->
     <constant name="struts.i18n.reload" value="false" />
-    <constant name="struts.devMode" value="true" />
+    <constant name="struts.devMode" value="false" />
     <constant name="struts.configuration.xml.reload" value="false" />
     <constant name="struts.custom.i18n.resources" value="globalMessages" />
     <constant name="struts.action.extension" value="action,," />
@@ -65,9 +65,9 @@
     <package name="default" extends="struts-default">
         <interceptors>
             <interceptor-stack name="crudStack">
-              <interceptor-ref name="checkbox" />
+                <interceptor-ref name="checkbox" />
                 <interceptor-ref name="params" />
-        <interceptor-ref name="staticParams" />
+                <interceptor-ref name="staticParams" />
                 <interceptor-ref name="defaultStack" />
             </interceptor-stack>
         </interceptors>
@@ -102,11 +102,11 @@
         </action>
         <action name="save" class="org.apache.struts2.showcase.action.SkillAction" method="save">
             <result name="input">/empmanager/editSkill.jsp</result>
-            <result type="redirect">edit.action?skillName=${currentSkill.name}</result>
+            <result type="redirect">list.action</result>
         </action>
         <action name="delete" class="org.apache.struts2.showcase.action.SkillAction" method="delete">
             <result name="error">/empmanager/editSkill.jsp</result>
-            <result type="redirect">edit.action?skillName=${currentSkill.name}</result>
+            <result type="redirect">list.action</result>
         </action>
     </package>
 
@@ -124,11 +124,11 @@
         </action>
         <action name="save" class="org.apache.struts2.showcase.action.EmployeeAction" method="save">
             <result name="input">/empmanager/editEmployee.jsp</result>
-            <result type="redirect">edit-${currentEmployee.empId}.action</result>
+            <result type="redirect">list.action</result>
         </action>
         <action name="delete" class="org.apache.struts2.showcase.action.EmployeeAction" method="delete">
             <result name="error">/empmanager/editEmployee.jsp</result>
-            <result type="redirect">edit-${currentEmployee.empId}.action</result>
+            <result type="redirect">list.action</result>
         </action>
     </package>
 

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/WEB-INF/applicationContext.xml
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/WEB-INF/applicationContext.xml?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/WEB-INF/applicationContext.xml (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/WEB-INF/applicationContext.xml Fri Oct 19 18:49:39 2012
@@ -1,117 +1,121 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
-<beans default-autowire="byName">
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:context="http://www.springframework.org/schema/context"
+       xsi:schemaLocation="
+			http://www.springframework.org/schema/beans
+			http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+			http://www.springframework.org/schema/context
+			http://www.springframework.org/schema/context/spring-context-3.0.xsd">
 
-    <bean id="storage" class="org.apache.struts2.showcase.application.MemoryStorage" singleton="true"/>
+    <context:component-scan base-package="org.apache.struts2.showcase"/>
+    <context:annotation-config/>
 
-    <bean id="testDataProvider" class="org.apache.struts2.showcase.application.TestDataProvider" singleton="true" lazy-init="false"/>
-
-    <bean id="skillDao" class="org.apache.struts2.showcase.dao.SkillDao"/>
-    <bean id="employeeDao" class="org.apache.struts2.showcase.dao.EmployeeDao"/>
-
-    <bean id="personManager" class="org.apache.struts2.showcase.person.PersonManager" singleton="true"/>
-    
     <!-- Showcase's CustomFreemarkerManager example -->
     <bean id="customFreemarkerManager" class="org.apache.struts2.showcase.freemarker.CustomFreemarkerManager">
         <constructor-arg index="0">
-            <ref bean="customFreemarkerManagerUtil" />
-        </constructor-arg>      
+            <ref bean="customFreemarkerManagerUtil"/>
+        </constructor-arg>
     </bean>
-    <bean id="customFreemarkerManagerUtil" class="org.apache.struts2.showcase.freemarker.CustomFreemarkerManagerUtil" />
-    
-    
-    
+    <bean id="customFreemarkerManagerUtil" class="org.apache.struts2.showcase.freemarker.CustomFreemarkerManagerUtil"/>
+
+
     <!-- Chat Example -->
     <bean id="chatService" class="org.apache.struts2.showcase.chat.ChatServiceImpl">
     </bean>
-    
-    <bean id="chatLoginAction" class="org.apache.struts2.showcase.chat.ChatLoginAction" singleton="false">
+
+    <bean id="chatLoginAction" class="org.apache.struts2.showcase.chat.ChatLoginAction" scope="prototype">
         <constructor-arg index="0">
-            <ref local="chatService" />
+            <ref local="chatService"/>
         </constructor-arg>
     </bean>
-    
-    <bean id="chatLogoutAction" class="org.apache.struts2.showcase.chat.ChatLogoutAction" singleton="false">
+
+    <bean id="chatLogoutAction" class="org.apache.struts2.showcase.chat.ChatLogoutAction" scope="prototype">
         <constructor-arg index="0">
-            <ref local="chatService" />
+            <ref local="chatService"/>
         </constructor-arg>
     </bean>
-    
-    <bean id="usersAvailableAction" class="org.apache.struts2.showcase.chat.UsersAvailableAction" singleton="false">
+
+    <bean id="usersAvailableAction" class="org.apache.struts2.showcase.chat.UsersAvailableAction" scope="prototype">
         <constructor-arg index="0">
-            <ref local="chatService" />
+            <ref local="chatService"/>
         </constructor-arg>
     </bean>
-    
-    <bean id="roomsAvailableAction" class="org.apache.struts2.showcase.chat.RoomsAvailableAction" singleton="false">
+
+    <bean id="roomsAvailableAction" class="org.apache.struts2.showcase.chat.RoomsAvailableAction" scope="prototype">
         <constructor-arg index="0">
-            <ref local="chatService" />
+            <ref local="chatService"/>
         </constructor-arg>
     </bean>
-    
-    <bean id="crudRoomAction" class="org.apache.struts2.showcase.chat.CrudRoomAction" singleton="false"> 
+
+    <bean id="crudRoomAction" class="org.apache.struts2.showcase.chat.CrudRoomAction" scope="prototype">
         <constructor-arg index="0">
-            <ref local="chatService" />
+            <ref local="chatService"/>
         </constructor-arg>
     </bean>
-    
-    <bean id="enterRoomAction" class="org.apache.struts2.showcase.chat.EnterRoomAction" singleton="false">
+
+    <bean id="enterRoomAction" class="org.apache.struts2.showcase.chat.EnterRoomAction" scope="prototype">
         <constructor-arg index="0">
-            <ref local="chatService" />
+            <ref local="chatService"/>
         </constructor-arg>
     </bean>
-    
-    <bean id="messagesAvailableInRoomAction" class="org.apache.struts2.showcase.chat.MessagesAvailableInRoomAction" singleton="false">
+
+    <bean id="messagesAvailableInRoomAction" class="org.apache.struts2.showcase.chat.MessagesAvailableInRoomAction"
+          scope="prototype">
         <constructor-arg index="0">
-            <ref local="chatService" />
+            <ref local="chatService"/>
         </constructor-arg>
     </bean>
-    
-    <bean id="sendMessageToRoomAction" class="org.apache.struts2.showcase.chat.SendMessageToRoomAction" singleton="false">
+
+    <bean id="sendMessageToRoomAction" class="org.apache.struts2.showcase.chat.SendMessageToRoomAction"
+          scope="prototype">
         <constructor-arg index="0">
-            <ref local="chatService" />
+            <ref local="chatService"/>
         </constructor-arg>
     </bean>
-    
-    <bean id="usersAvailableInRoomAction" class="org.apache.struts2.showcase.chat.UsersAvailableInRoomAction" singleton="false">
+
+    <bean id="usersAvailableInRoomAction" class="org.apache.struts2.showcase.chat.UsersAvailableInRoomAction"
+          scope="prototype">
         <constructor-arg index="0">
-            <ref local="chatService" />
+            <ref local="chatService"/>
         </constructor-arg>
     </bean>
-    
-    <bean id="exitRoomAction" class="org.apache.struts2.showcase.chat.ExitRoomAction" singleton="false">
+
+    <bean id="exitRoomAction" class="org.apache.struts2.showcase.chat.ExitRoomAction" scope="prototype">
         <constructor-arg index="0">
-            <ref local="chatService" />
+            <ref local="chatService"/>
         </constructor-arg>
     </bean>
-    
-    
+
+
     <!-- Hangman Showcase Example  -->
     <bean id="hangmanService" class="org.apache.struts2.showcase.hangman.HangmanService">
         <constructor-arg index="0">
-                <bean class="org.apache.struts2.showcase.hangman.PropertiesVocabSource">
-                        <constructor-arg index="0">
-                                <props>
-                                        <!--
-                                        <prop key="DOG">An animal, men best friend</prop>
-                                        <prop key="CAT">An animal whose child is called kitten</prop>
-                                        <prop key="CAR">A common vehical with 4 wheels</prop>
-                                        <prop key="STRUTS2">The premier action-based framework for Java</prop>
-                                        -->
-                                        <prop key="JAVA">A popular programming language that is used to create the Struts framework</prop>
-                                </props>
-                        </constructor-arg>
-                </bean>
+            <bean class="org.apache.struts2.showcase.hangman.PropertiesVocabSource">
+                <constructor-arg index="0">
+                    <props>
+                        <!--
+                                                                <prop key="DOG">An animal, men best friend</prop>
+                                                                <prop key="CAT">An animal whose child is called kitten</prop>
+                                                                <prop key="CAR">A common vehical with 4 wheels</prop>
+                                                                <prop key="STRUTS2">The premier action-based framework for Java</prop>
+                                                                -->
+                        <prop key="JAVA">A popular programming language that is used to create the Struts framework
+                        </prop>
+                    </props>
+                </constructor-arg>
+            </bean>
         </constructor-arg>
     </bean>
 
-    <bean id="startHangmanAction" class="org.apache.struts2.showcase.hangman.StartHangmanAction" singleton="false">
-                <constructor-arg index="0">
-                        <ref local="hangmanService" />
-                </constructor-arg>
+    <bean id="startHangmanAction" class="org.apache.struts2.showcase.hangman.StartHangmanAction" scope="prototype">
+        <constructor-arg index="0">
+            <ref local="hangmanService"/>
+        </constructor-arg>
     </bean>
 
-    <bean id="guessCharacterAction" class="org.apache.struts2.showcase.hangman.GuessCharacterAction" singleton="false" />
-    <bean id="getUpdatedHangmanAction" class="org.apache.struts2.showcase.hangman.GetUpdatedHangmanAction" singleton="false" />
+    <bean id="guessCharacterAction" class="org.apache.struts2.showcase.hangman.GuessCharacterAction" scope="prototype"/>
+    <bean id="getUpdatedHangmanAction" class="org.apache.struts2.showcase.hangman.GetUpdatedHangmanAction"
+          scope="prototype"/>
 </beans>
 

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/WEB-INF/decorators/main.jsp
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/WEB-INF/decorators/main.jsp?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/WEB-INF/decorators/main.jsp (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/WEB-INF/decorators/main.jsp Fri Oct 19 18:49:39 2012
@@ -1,106 +1,307 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
+<!DOCTYPE html>
+<%@ page
+		language="java"
+		contentType="text/html; charset=UTF-8"
+		pageEncoding="UTF-8" %>
 <%
-    response.setHeader("Pragma", "no-cache");
-    response.setHeader("Cache-Control", "no-cache");
-    response.setDateHeader("Expires", 0);
-    
-    // Calculate the view sources url
-    String sourceUrl = request.getContextPath()+"/viewSource.action";
-    com.opensymphony.xwork2.ActionInvocation inv = com.opensymphony.xwork2.ActionContext.getContext().getActionInvocation();
-    org.apache.struts2.dispatcher.mapper.ActionMapping mapping = org.apache.struts2.ServletActionContext.getActionMapping();
-    if (inv != null) {
-        com.opensymphony.xwork2.util.location.Location loc = inv.getProxy().getConfig().getLocation();
-        sourceUrl += "?config="+(loc != null ? loc.getURI()+":"+loc.getLineNumber() : "");
-        sourceUrl += "&className="+inv.getProxy().getConfig().getClassName();
-        
-        if (inv.getResult() != null && inv.getResult() instanceof org.apache.struts2.dispatcher.StrutsResultSupport) {
-	        sourceUrl += "&page="+mapping.getNamespace()+"/"+((org.apache.struts2.dispatcher.StrutsResultSupport)inv.getResult()).getLastFinalLocation();
-        }
-    } else {
-        sourceUrl += "?page="+request.getServletPath();
-    }
+	response.setHeader("Pragma", "no-cache");
+	response.setHeader("Cache-Control", "no-cache");
+	response.setDateHeader("Expires", 0);
+
+	// Calculate the view sources url
+	String sourceUrl = request.getContextPath()+"/viewSource.action";
+	com.opensymphony.xwork2.ActionInvocation inv = com.opensymphony.xwork2.ActionContext.getContext().getActionInvocation();
+	org.apache.struts2.dispatcher.mapper.ActionMapping mapping = org.apache.struts2.ServletActionContext.getActionMapping();
+	if (inv != null) {
+		try {
+			com.opensymphony.xwork2.util.location.Location loc = inv.getProxy().getConfig().getLocation();
+			sourceUrl += "?config="+(loc != null ? loc.getURI()+":"+loc.getLineNumber() : "");
+		} catch (Exception e) {
+			sourceUrl += "?config=";
+		}
+		sourceUrl += "&className="+inv.getProxy().getConfig().getClassName();
+
+		if (inv.getResult() != null && inv.getResult() instanceof org.apache.struts2.dispatcher.StrutsResultSupport) {
+			sourceUrl += "&page="+mapping.getNamespace()+"/"+((org.apache.struts2.dispatcher.StrutsResultSupport)inv.getResult()).getLastFinalLocation();
+		}
+	} else {
+		sourceUrl += "?page="+request.getServletPath();
+	}
 %>
 <%@taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator" %>
 <%@taglib prefix="page" uri="http://www.opensymphony.com/sitemesh/page" %>
 <%@taglib prefix="s" uri="/struts-tags" %>
 
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<html lang="en">
 <head>
-    <title><decorator:title default="Struts Showcase"/></title>
-    <link href="<s:url value='/styles/main.css' encode='false' includeParams='none'/>" rel="stylesheet" type="text/css" media="all"/>
-    <decorator:head/>
+	<meta charset="utf-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1.0">
+	<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
+	<meta name="description" content="Struts2 Showcase for Apache Struts Project">
+	<meta name="author" content="The Apache Software Foundation">
+
+	<title><decorator:title default="Struts2 Showcase"/></title>
+
+	<link href="<s:url value='/styles/bootstrap.css' encode='false' includeParams='none'/>" rel="stylesheet"
+	      type="text/css" media="all">
+	<link href="<s:url value='/styles/bootstrap-responsive.css' encode='false' includeParams='none'/>" rel="stylesheet"
+	      type="text/css" media="all">
+	<link href="<s:url value='/styles/main.css' encode='false' includeParams='none'/>" rel="stylesheet" type="text/css"
+	      media="all"/>
+
+	<script src="<s:url value='/js/jquery-1.8.2.min.js' encode='false' includeParams='none'/>"></script>
+	<script src="<s:url value='/js/bootstrap.min.js' encode='false' includeParams='none'/>"></script>
+	<script type="text/javascript">
+		$(function () {
+			$('.dropdown-toggle').dropdown();
+			var alerts = $('ul.alert').wrap('<div />');
+			alerts.prepend('<a class="close" data-dismiss="alert" href="#">&times;</a>');
+			alerts.alert();
+		});
+	</script>
+
+	<!-- Prettify -->
+	<link href="<s:url value='/styles/prettify.css' encode='false' includeParams='none'/>" rel="stylesheet">
+	<script src="<s:url value='/js/prettify.js' encode='false' includeParams='none'/>"></script>
+
+	<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+	<!--[if lt IE 9]>
+	<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+	<![endif]-->
+
+	<decorator:head/>
 </head>
 
-<body id="page-home">
+<body id="page-home" onload="prettyPrint();">
+
+<div class="navbar navbar-fixed-top">
+	<div class="navbar-inner">
+		<div class="container-fluid">
+			<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</a>
+			<s:a value="/showcase.jsp" cssClass="brand">Struts2 Showcase</s:a>
+			<div class="nav-collapse">
+				<ul class="nav">
+					<li><s:a value="/showcase.jsp"><i class="icon-home"></i> Home</s:a></li>
+					<li class="dropdown">
+						<a href="#" class="dropdown-toggle" data-toggle="dropdown">Configuration<b
+								class="caret"></b></a>
+						<ul class="dropdown-menu">
+							<li><s:a action="actionChain1!input" namespace="/actionchaining"
+							         includeParams="none">Action Chaining</s:a></li>
+							<li><s:a action="index" namespace="/config-browser"
+							         includeParams="none">Config Browser</s:a></li>
+							<li><s:a value="/conversion/index.jsp">Conversion</s:a></li>
+							<li><s:a value="/person/index.jsp">Person Manager ( by Conventions )</s:a></li>
+						</ul>
+					</li>
+					<li class="dropdown">
+						<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tags<b class="caret"></b></a>
+						<ul class="dropdown-menu">
+							<li class="dropdown-submenu">
+								<a href="#">Non UI Tags</a>
+								<ul class="dropdown-menu">
+									<li><s:url var="url" action="showActionTagDemo" namespace="/tags/non-ui/actionTag"/><s:a
+											href="%{url}">Action Tag</s:a></li>
+									<li><s:url var="url" value="/tags/non-ui/date.jsp"/><s:a
+											href="%{url}">Date Tag</s:a></li>
+									<li><s:url var="url" action="debugTagDemo" namespace="/tags/non-ui"/><s:a
+											href="%{url}">Debug Tag</s:a></li>
+									<li><s:url var="url" action="showGeneratorTagDemo"
+									           namespace="/tags/non-ui/iteratorGeneratorTag"/><s:a
+											href="%{url}">Iterator Generator Tag</s:a></li>
+									<li>
+										<s:url var="url" action="showAppendTagDemo"
+										       namespace="/tags/non-ui/appendIteratorTag"/>
+										<s:a href="%{#url}">Append Iterator Tag</s:a>
+									<li>
+										<s:url var="url" action="showMergeTagDemo"
+										       namespace="/tags/non-ui/mergeIteratorTag"/>
+										<s:a href="%{#url}">Merge Iterator Demo</s:a>
+									<li>
+										<s:url var="url" action="showSubsetTagDemo"
+										       namespace="/tags/non-ui/subsetIteratorTag"/>
+										<s:a href="%{#url}">Subset Tag</s:a>
+									<li><s:url var="url" action="actionPrefixExampleUsingFreemarker"
+									           namespace="/tags/non-ui/actionPrefix"/><s:a
+											href="%{#url}">Action Prefix Example (Freemarker)</s:a></li>
+									<li><s:url var="url" action="testIfTagJsp" namespace="/tags/non-ui/ifTag"/><s:a
+											href="%{#url}">If Tag (JSP)</s:a></li>
+									<li><s:url var="url" action="testIfTagFreemarker"
+									           namespace="/tags/non-ui/ifTag"/><s:a
+											href="%{#url}">If Tag (Freemarker)</s:a></li>
+								</ul>
+
+							</li>
+							<li class="dropdown-submenu">
+								<a href="#">UI Tags</a>
+								<ul class="dropdown-menu">
+									<li><s:url var="url" namespace="/tags/ui" action="example" method="input"/><s:a
+											href="%{url}">UI Example</s:a></li>
+									<li><s:url var="url" namespace="/tags/ui" action="exampleVelocity"
+									           method="input"/><s:a href="%{url}">UI Example (Velocity)</s:a></li>
+									<li><s:url var="url" namespace="/tags/ui" action="lotsOfOptiontransferselect"
+									           method="input"/><s:a
+											href="%{url}">Option Transfer Select UI Example</s:a></li>
+									<li><s:url var="url" namespace="/tags/ui" action="moreSelects" method="input"/><s:a
+											href="%{url}">More Select Box UI Examples</s:a></li>
+									<li>
+										<s:url var="url" namespace="/tags/ui" value="/tags/ui/treeExampleStatic.jsp"/>
+										<s:a href="%{url}">Tree Example (static)</s:a>
+									<li>
+										<s:url var="url" namespace="/tags/ui" action="showDynamicTreeAction"/>
+										<s:a href="%{url}">Tree Example (dynamic)</s:a>
+									<li>
+										<s:url var="url" namespace="/tags/ui" action="showDynamicAjaxTreeAction"/>
+										<s:a href="%{url}">Tree Example (dynamic ajax loading)</s:a>
+									<li>
+										<s:url var="url" value="/tags/ui/componentTagExample.jsp"/>
+										<s:a href="%{#url}">Component Tag Example</s:a>
+									<li><s:url var="url" namespace="/tags/ui" action="actionTagExample" method="input"/><s:a
+											href="%{url}">Action Tag Example</s:a></li>
+									<li><s:url var="url" value="/tags/ui/datepicker/index.jsp"/><s:a
+											href="%{#url}">DateTime picker tag - Pick a date</s:a></li>
+									<li><s:url var="url" value="/tags/ui/timepicker/index.jsp"/><s:a
+											href="%{#url}">DateTime picker tag - Pick a time</s:a></li>
+									<%--li><s:url var="url" namespace="/tags/ui" action="populateUsingIterator" method="input" /><s:a href="%{url}">UI population using iterator tag</s:a></li--%>
+								</ul>
+							</li>
+						</ul>
+					</li>
+					<li class="dropdown">
+						<a href="#" class="dropdown-toggle" data-toggle="dropdown">File<b class="caret"></b></a>
+						<ul class="dropdown-menu">
+							<li><s:a value="/filedownload/index.jsp">File Download</s:a></li>
+							<li class="dropdown-submenu">
+								<a href="#">File Upload</a>
+								<ul class="dropdown-menu">
+									<li>
+										<s:url var="url" action="upload" namespace="/fileupload"/>
+										<s:a href="%{#url}">Single File Upload</s:a>
+									</li>
+									<li>
+										<s:url var="url" action="multipleUploadUsingList" namespace="/fileupload"/>
+										<s:a href="%{#url}">Multiple File Upload (List)</s:a>
+
+									</li>
+									<li>
+										<s:url var="url" action="multipleUploadUsingArray" namespace="/fileupload"/>
+										<s:a href="%{#url}">Multiple File Upload (Array)</s:a>
+									</li>
+								</ul>
+							</li>
+						</ul>
+					</li>
+					<li class="dropdown">
+						<a href="#" class="dropdown-toggle" data-toggle="dropdown">Examples<b class="caret"></b></a>
+						<ul class="dropdown-menu">
+							<li class="dropdown-submenu">
+								<a href="#">Hangman</a>
+								<ul class="dropdown-menu">
+									<li><s:url var="url" namespace="/hangman" action="hangmanNonAjax"/><s:a
+											href="%{url}">Hangman (Non Ajax)</s:a></li>
+									<li><s:url var="url" namespace="/hangman" action="hangmanAjax"/><s:a
+											href="%{url}">Hangman (Ajax - Experimental)</s:a></li>
+								</ul>
+							</li>
+							<li><s:a value="/person/index.jsp">Person Manager</s:a></li>
+							<li><s:a value="/empmanager/index.jsp">CRUD</s:a></li>
+							<li><s:a value="/wait/index.jsp">Execute &amp; Wait</s:a></li>
+							<li><s:a value="/token/index.jsp">Token</s:a></li>
+							<li><s:a value="/validation/index.jsp">Validation</s:a></li>
+							<li><s:url var="url" namespace="/modelDriven" action="modelDriven"/><s:a
+									href="%{url}">Model Driven</s:a></li>
+						</ul>
+					</li>
+					<li class="dropdown">
+						<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integration<b class="caret"></b></a>
+						<ul class="dropdown-menu">
+							<li class="dropdown-submenu">
+								<a href="#">Freemarker</a>
+								<ul class="dropdown-menu">
+									<li>
+										<s:url var="url" action="customFreemarkerManagerDemo" namespace="/freemarker"/>
+										<s:a href="%{#url}">Demo of usage of a Custom Freemarker Manager</s:a>
+									</li>
+									<li>
+										<s:url var="url" action="standardTags" namespace="/freemarker"/>
+										<s:a href="%{#url}">Demo of Standard Struts Freemarker Tags</s:a>
+									</li>
+								</ul>
+							</li>
+							<li><s:a value="/jsf/index.jsp">JavaServer Faces</s:a></li>
+							<li><s:a value="/integration/editGangster">Struts 1 Integration</s:a></li>
+							<li><s:a value="/tiles/index.action">Tiles</s:a></li>
+						</ul>
+					</li>
+					<li class="dropdown">
+						<a href="#" class="dropdown-toggle" data-toggle="dropdown">AJAX<b class="caret"></b></a>
+						<ul class="dropdown-menu">
+							<li><s:a value="/ajax/index.jsp">Ajax plugin</s:a></li>
+							<li><s:a value="/chat/index.jsp">Ajax Chat</s:a></li>
+						</ul>
+					</li>
+					<li><s:a value="/interactive/index.jsp">Interactive Demo</s:a></li>
+				</ul>
+
+				<ul class="nav pull-right">
+					<li class="dropdown last">
+						<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-flag"></i> Help<b
+								class="caret"></b></a>
+						<ul class="dropdown-menu">
+							<li><s:a value="/help.jsp">Help</s:a></li>
+							<li><a href="http://struts.apache.org/mail.html"><i class="icon-share"></i> User Mailing
+								List</a></li>
+							<li><a href="http://struts.apache.org/2.x/"><i class="icon-share"></i> Struts2 Website</a>
+							</li>
+							<li><a href="http://struts.apache.org/2.x/docs/home.html"><i class="icon-share"></i>
+								Documentation</a></li>
+						</ul>
+					</li>
+				</ul>
+			</div>
+			<!--/.nav-collapse -->
+		</div>
+	</div>
+</div>
+
+<decorator:body/>
 
 
-<div id="page">
-    <div id="outer-header">
-        <div id="header" class="clearfix">
-            <div id="branding">
-                <h1 class="title">Struts Showcase</h1>
-                <s:action var="dateAction" name="date" namespace="/" executeResult="true" />
-            </div><!-- end branding -->
-
-            <div id="search">
-                <img src="<s:url value='/images/struts-power.gif' encode='false' includeParams='none'/>" alt="Powered by Struts"/>
-            </div><!-- end search -->
-
-            <hr/>
-            <div style="clear: both;"></div>
-        </div>
-    </div><!-- end header -->
-
-    <div id="content" class="clearfix">
-        <div id="nav">
-            <div class="wrapper">
-                <h2 class="accessibility">Navigation</h2>
-                <ul class="clearfix">
-                    <li><s:a value="/showcase.jsp">Home</s:a></li>
-                    <li><s:a value="/ajax/index.jsp">Ajax</s:a></li>
-                    <li><s:a value="/chat/index.jsp">Ajax Chat</s:a></li>
-                    <li><s:a action="actionChain1!input" namespace="/actionchaining"  includeParams="none">Action Chaining</s:a></li>
-                    <li><s:a action="index" namespace="/config-browser" includeParams="none">Config Browser</s:a></li>
-                    <li><s:a value="/conversion/index.jsp">Conversion</s:a></li>
-                    <li><s:a value="/empmanager/index.jsp">CRUD</s:a></li>
-                    <li><s:a value="/wait/index.jsp">Execute & Wait</s:a></li>
-                    <li><s:a value="/filedownload/index.jsp">File Download</s:a></li>
-                    <li><s:a value="/fileupload/index.jsp">File Upload</s:a></li>
-                    <li><s:a value="/freemarker/index.jsp">Freemarker</s:a></li>
-                    <li><s:a action="hangmanMenu" namespace="/hangman">Hangman</s:a></li>
-                    <li><s:a value="/jsf/index.jsp">JavaServer Faces</s:a></li>
-                    <li><s:a value="/tags/index.jsp">Tags</s:a></li>
-                    <li><s:a value="/tiles/index.action">Tiles</s:a></li>
-                    <li><s:a value="/token/index.jsp">Token</s:a></li>
-                    <li><s:a value="/validation/index.jsp">Validation</s:a></li>
-                    <li><s:a value="/interactive/index.jsp">Interactive Demo</s:a></li>
-                    <li><s:a value="/person/index.jsp">Person Manager</s:a></li>
-                    <li><s:a value="/integration/editGangster">Struts 1 Integration</s:a></li>
-                    <li class="last"><s:a value="/help.jsp">Help</s:a></li>
-                </ul>
-            </div>
-            <hr/>
-
-        </div><!-- end nav -->
-
-        <decorator:body/>
-        
-    </div><!-- end content -->
+<hr>
 
+<footer id="footer" class="footer">
 	<div>
-    	<p>
-    		<a href="<%=sourceUrl %>">View Sources</a>
-    	</p>
+		<p style="text-align: center;">
+			<a href="<%=sourceUrl %>" class="btn btn-info">View Sources</a>
+		</p>
 	</div>
-    <div id="footer" class="clearfix">
-        <p>Copyright &copy; 2003-<s:property value="#dateAction.now.year + 1900" /> The Apache Software Foundation.</p>
-        <s:hidden name="project-name" value="Struts 2" />
-    </div><!-- end footer -->
-    <p/>
 
-</div><!-- end page -->
 
+	<div class="pull-right">
+		<div>
+			<s:action var="dateAction" name="date" namespace="/" executeResult="true"/>
+		</div>
+		<!-- end branding -->
+
+		<div>
+			<a href="http://struts.apache.org/2.x/">
+				<img src="<s:url value='/img/struts-power.gif' encode='false' includeParams='none'/>"
+				     alt="Powered by Struts"/>
+			</a>
+		</div>
+		<!-- end search -->
+	</div>
+
+	<div class="pull-left">
+		Copyright &copy; 2003-<s:property value="#dateAction.now.year + 1900"/>
+		<a href="http://www.apache.org">
+			The Apache Software Foundation.
+		</a>
+	</div>
+</footer>
 </body>
 </html>

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/actionchaining/actionChainingResult.jsp
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/actionchaining/actionChainingResult.jsp?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/actionchaining/actionChainingResult.jsp (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/actionchaining/actionChainingResult.jsp Fri Oct 19 18:49:39 2012
@@ -2,13 +2,22 @@
 
 <html>
 <head>
-    <title>Showcase - Action Chaining Result</title>
+    <title>Struts2 Showcase - Action Chaining Result</title>
 </head>
 <body>
-    <h1>Action Chaining Result:</h1>
-    <s:label label="Action Chain 1 Property 1" name="actionChain1Property1" /><br/>
-    <s:label label="Action Chain 2 Property 1" name="actionChain2Property1" /><br/>
-    <s:label label="Action Chain 3 Property 1" name="actionChain3Property1" /><br/>
+    <div class="page-header">
+	    <h1>Action Chaining Result:</h1>
+    </div>
+
+    <div class="container-fluid">
+	    <div class="row-fluid">
+		    <div class="span12">
+		        <s:label label="Action Chain 1 Property 1" name="actionChain1Property1" /><br/>
+                <s:label label="Action Chain 2 Property 1" name="actionChain2Property1" /><br/>
+                <s:label label="Action Chain 3 Property 1" name="actionChain3Property1" /><br/>
+		    </div>
+	    </div>
+    </div>
 </body>
 </html>
 

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/chat/chatLogin.ftl
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/chat/chatLogin.ftl?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/chat/chatLogin.ftl (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/chat/chatLogin.ftl Fri Oct 19 18:49:39 2012
@@ -1,16 +1,27 @@
-
 <html>
 	<head>
-		<title>Showcase - Chat - Login</title>
+		<title>Struts2 Showcase - Chat - Login</title>
 		<@s.head />
 	</head>
 	<body>
-	<@s.actionerror />
-	<@s.actionmessage />
-	<@s.fielderror />
-	<@s.form action="login" namespace="/chat" method="POST">
-		<@s.textfield name="name" label="Name" required="true" />
-		<@s.submit/>
-	</@s.form>
+	<div class="page-header">
+		<h1>Chat - Login</h1>
+	</div>
+
+	<div class="container-fluid">
+		<div class="row-fluid">
+			<div class="span12">
+			<@s.actionerror cssClass="alert alert-error"/>
+			<@s.actionmessage cssClass="alert alert-info"/>
+			<@s.fielderror  cssClass="alert alert-error"/>
+
+			<@s.form action="login" namespace="/chat" method="POST">
+				<@s.textfield name="name" label="Name" required="true" />
+				<@s.submit cssClass="btn btn-primary"/>
+			</@s.form>
+			</div>
+		</div>
+	</div>
 	</body>
 </html>
+

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/chat/roomSelection.ftl
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/chat/roomSelection.ftl?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/chat/roomSelection.ftl (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/chat/roomSelection.ftl Fri Oct 19 18:49:39 2012
@@ -1,165 +1,172 @@
+<html>
+<head>
+	<title>Struts2 Showcase - Chat - Room Selection</title>
+<@sx.head />
+	<style type="text/css">
+		div.box {
+			border: 1px solid darkblue;
+			margin: 5px;
+		}
 
+		div.box h3 {
+			color: white;
+			background: darkblue;
+			margin: 3px;
+			padding: 2px;
+		}
+
+		div.nobox {
+			margin: 5px;
+		}
+
+		table.table {
+			border: 1px solid darkblue;
+			width: 98%;
+			margin: 5px;
+		}
+
+		table.table tr.tableHeader {
+			color: white;
+			background: darkblue;
+			margin: 3px;
+			padding: 2px;
+			font-size: medium;
+			font-weight: bold;
+		}
+
+		table.table td.tableOperationColumnOdd {
+			background: gray;
+			color: white;
+			width: 20%
+		}
+
+		table.table td.tableNameColumnOdd {
+			background: gray;
+			color: white;
+			width: 20%;
+		}
+
+		table.table td.tableDescriptionColumnOdd {
+			background: gray;
+			color: white;
+			width: 40%;
+		}
+
+		table.table td.tableDateCreatedColumnOdd {
+			background: gray;
+			color: white;
+			width: 20%;
+		}
+
+		table.table td.tableOperationColumnEven {
+			background: white;
+			color: gray;
+			width: 20%
+		}
+
+		table.table td.tableNameColumnEven {
+			background: white;
+			color: gray;
+			width: 20%;
+		}
+
+		table.table td.tableDescriptionColumnEven {
+			background: white;
+			color: gray;
+			width: 40%;
+		}
+
+		table.table td.tableDateCreatedColumnEven {
+			background: white;
+			color: gray;
+			width: 20%;
+		}
+
+		div.container {
+			margin-left: auto;
+			margin-right: auto;
+			width: 100%;
+		}
+
+		div.left {
+			width: 20%;
+			float: left;
+		}
+
+		div.right {
+			width: 20%;
+			float: right;
+		}
+
+		div.center {
+			width: 60%;
+			float: left;
+		}
+
+	</style>
+</head>
+<body>
+<div class="page-header">
+	<h1>Chat - Room Selection</h1>
+</div>
+
+<div class="container-fluid">
+	<div class="row-fluid">
+		<div class="span12 container">
+
+
+			<div class="left">
+				<div class="box">
+					<h3>Operations</h3>
+				<@s.url id="url" action="logout" namespace="/chat" />
+					<ul>
+						<li><@s.a href="%{#url}">Logout</@s.a></li>
+					</ul>
+				</div>
+			<#if (actionErrors?size gt 0)>
+				<div class="box">
+					<h3>Action Errors</h3>
+					<@s.actionerrors />
+				</div>
+			</#if>
+				<div class="box">
+					<h3>Users Available In Chat</h3>
+				<@s.url id="usersAvailableUrl" action="usersAvailable" namespace="/chat/ajax" />
+				<@sx.div id="usersAvailable" updateFreq="%{@org.apache.struts2.showcase.chat.Constants@UPDATE_FREQ}"
+				href="%{usersAvailableUrl}"
+				class="box">
+					Initial Loading Users ...
+				</@sx.div>
+				</div>
+			</div>
+
+
+			<div class="center">
+				<div class="box">
+					<h3>Rooms Available In Chat</h3>
+				<@s.url id="roomsAvailableUrl" action="roomsAvailable" namespace="/chat/ajax" />
+				<@sx.div id="roomsAvailable" listenTopics="topicRoomCreated"
+				updateFreq="%{@org.apache.struts2.showcase.chat.Constants@UPDATE_FREQ}"
+				href="%{roomsAvailableUrl}" >
+					Initial Loading Rooms ...
+				</@sx.div>
+				</div>
+
+				<div id="createRoom" class="box">
+					<h3>Create Room In Chat</h3>
+
+					<div id="createRoomResult"></div>
+				<@s.form id="createRoomId" action="createRoom" namespace="/chat/ajax" method="POST">
+					<@s.textfield label="Room Name" required="true" name="name" />
+					<@s.textarea theme="xhtml" label="Room Description" required="true" name="Description" />
+					<@sx.submit value="%{'Create Room'}" targets="createRoomResult" afterNotifyTopics="topicRoomCreated" align="left" cssClass="btn btn-primary" />
+				</@s.form>
+				</div>
+			</div>
 
-<html>
-	<head>
-		<title>Showcase - Chat - Room Selection</title>
-		<@sx.head />
-		<style type="text/css">
-			div.box {
-				border: 1px solid darkblue;
-				margin: 5px;
-			}
-			
-			div.box h3 {
-				color: white;
-				background: darkblue;
-				margin: 3px;
-				padding: 2px;
-			}
-			
-			div.nobox {
-				margin: 5px;
-			}
-			
-			table.table {
-				border: 1px solid darkblue;
-				width: 98%;
-				margin: 5px;
-			}
-			
-			table.table tr.tableHeader {
-				color: white;
-				background: darkblue;
-				margin: 3px;
-				padding: 2px;
-				font-size: medium; 
-				font-weight: bold;
-			}
-			
-			table.table td.tableOperationColumnOdd {
-				background: gray;
-				color: white;
-				width: 20%
-			}
-			
-			table.table td.tableNameColumnOdd {
-				background: gray;
-				color: white;
-				width: 20%;
-			}
-			
-			table.table td.tableDescriptionColumnOdd {
-				background: gray;
-				color: white;
-				width: 40%;
-			}
-			
-			table.table td.tableDateCreatedColumnOdd {
-				background: gray;
-				color: white;
-				width: 20%;
-			}
-			
-			table.table td.tableOperationColumnEven {
-				background: white;
-				color: gray;
-				width: 20%
-			}
-			
-			table.table td.tableNameColumnEven {
-				background: white;
-				color: gray;
-				width: 20%;
-			}
-			
-			table.table td.tableDescriptionColumnEven {
-				background: white;
-				color: gray;
-				width: 40%;
-			}
-			
-			table.table td.tableDateCreatedColumnEven {
-				background: white;
-				color: gray;
-				width: 20%;
-			}
-
-			div.container {
-				margin-left: auto;
-				margin-right: auto;
-				width: 100%;
-			}
-			
-			div.left {
-				width: 20%;
-				float: left;
-			}
-			
-			div.right {
-				width: 20%;
-				float: right;
-			}
-			
-			div.center {
-				width: 60%;
-				float: left;
-			}
-			
-		</style>
-	</head>
-	<body>
-		<div class="container">
-		
-		
-		<div class="left">
-		<div class="box">
-			<h3>Operations</h3>
-			<@s.url id="url" action="logout" namespace="/chat" />
-			<ul>
-				<li><@s.a href="%{#url}">Logout</@s.a></li>
-			</ul>
-		</div>
-		<#if (actionErrors?size gt 0)>
-		<div class="box">
-			<h3>Action Errors</h3>
-			<@s.actionerrors />
-		</div>
-		</#if>
-		<div class="box">
-		<h3>Users Available In Chat</h3>
-        <@s.url id="usersAvailableUrl" action="usersAvailable" namespace="/chat/ajax" />
-        <@sx.div id="usersAvailable" updateFreq="%{@org.apache.struts2.showcase.chat.Constants@UPDATE_FREQ}"
-		         href="%{usersAvailableUrl}"
-		         class="box">
-				Initial Loading Users ...
-		</@sx.div>
-		</div>
-		</div>
-		
-		
-		<div class="center">
-		<div class="box">
-		<h3>Rooms Available In Chat</h3>
-        <@s.url id="roomsAvailableUrl" action="roomsAvailable" namespace="/chat/ajax" />
-        <@sx.div id="roomsAvailable" listenTopics="topicRoomCreated"
-				  updateFreq="%{@org.apache.struts2.showcase.chat.Constants@UPDATE_FREQ}"
-				  href="%{roomsAvailableUrl}" >
-			     Initial Loading Rooms ...
-		</@sx.div>
-		</div>
-		
-		<div id="createRoom" class="box">
-		<h3>Create Room In Chat</h3>
-			<div id="createRoomResult"></div>
-			<@s.form id="createRoomId" action="createRoom" namespace="/chat/ajax" method="POST">
-				<@s.textfield label="Room Name" required="true" name="name" />
-				<@s.textarea theme="xhtml" label="Room Description" required="true" name="Description" />
-				<@sx.submit value="%{'Create Room'}" targets="createRoomResult" afterNotifyTopics="topicRoomCreated" align="left" />
-			</@s.form>
-		</div>
-		</div>
-		
 		</div>
-	</body>
+	</div>
+</div>
+</body>
 </html>
 

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/chat/showRoom.ftl
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/chat/showRoom.ftl?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/chat/showRoom.ftl (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/chat/showRoom.ftl Fri Oct 19 18:49:39 2012
@@ -1,161 +1,167 @@
-
 <html>
-	<head>
-		<title>Showcase - Chat - Show Room </title>
-		<@sx.head />
-		<style type="text/css">
-			div.box {
-				border: 1px solid darkblue;
-				margin: 5px;
-			}
-			
-			div.box h3 {
-				color: white;
-				background: darkblue;
-				margin: 3px;
-				padding: 2px;
-			}
-			
-			div.nobox {
-				margin: 5px;
-			}
-			
-			table.table {
-				border: 1px solid darkblue;
-				width: 98%;
-				margin: 5px;
-			}
-			
-			table.table tr.tableHeader {
-				color: white;
-				background: darkblue;
-				margin: 3px;
-				padding: 2px;
-				font-size: medium; 
-				font-weight: bold;
-			}
-
-			table.table td.tableSenderColumnOdd {
-				background: gray;
-				color: white;
-				width: 20%
-			}
-			
-			table.table td.tableDateColumnOdd {
-				background: gray;
-				color: white;
-				width: 20%;
-			}
-			
-			table.table td.tableMessageColumnOdd {
-				background: gray;
-				color: white;
-				width: 60%;
-			}
-			
-			table.table td.tableSenderColumnEven {
-				background: white;
-				color: gray;
-				width: 20%
-			}
-			
-			table.table td.tableDateColumnEven {
-				background: white;
-				color: gray;
-				width: 20%;
-			}
-			
-			table.table td.tableMessageColumnEven {
-				background: white;
-				color: gray;
-				width: 60%;
-			}
-			
-			div.container {
-				margin-left: auto;
-				margin-right: auto;
-				width: 100%;
-			}
-			
-			div.left {
-				width: 20%;
-				float: left;
-			}
-			
-			div.right {
-				width: 20%;
-				float: left;
-			}
-			
-			div.center {
-				width: 60%;
-				float: left;
-			}
-			
-		</style>
-	</head>
-	<body>
-		<div class="container">
-		<div class="left">
-		<div class="box">
-			<h3>Operation</h3>
-			<@s.url id="url" action="exitRoom" namespace="/chat">
-				<@s.param name="roomName" value="%{roomName}" />
-			</@s.url>
-			<ul>
-				<li><@s.a href="%{#url}">Exit Room</@s.a></li>
-			</ul>
-		</div>
-		<div class="box">
-		<h3>Users Available In Chat</h3>
-        <@s.url id="usersAvailableUrl" action="usersAvailable" namespace="/chat/ajax" />
-        <@sx.div id="usersAvailable" href="%{usersAvailableUrl}"
-				 updateFreq="%{@org.apache.struts2.showcase.chat.Constants@UPDATE_FREQ}">
-			Initial Users Available ...
-		</@sx.div>
-		</div>
-		</div>
-		
-		<div class="center">
-		<div class="box">
-		<h3>Messages Posted In Room [${roomName?default('')?html}]</h3>
-		<@s.url id="url" value="/chat/ajax/messagesAvailableInRoom.action" includeContext="true">
-			<@s.param name="roomName" value="%{roomName}" />
-		</@s.url>
-		<@sx.div id="messagesInRoom" href="%{#url}" includeContext="true"
-				  updateFreq="%{@org.apache.struts2.showcase.chat.Constants@UPDATE_FREQ}" 
-				  listenTopics="topicMessageSend">
-			Initial Messages In Room ...
-		</@sx.div>
-		</div>
-		
-		<div class="box">
-		<h3>Send Messages</h3>
-		<@s.form id="sendMessageForm" action="sendMessageToRoom" namespace="/chat/ajax" method="POST">
-			<div id="sendMessageResult"></div>
-			<@s.textarea label="Message"name="message" theme="xhtml" />
-			<@s.hidden name="roomName" value="%{roomName}" />
-			<@sx.submit id="submit" resultDivId="sendMessageResult" afterNotifyTopics="topicMessageSend" value="%{'Send'}" />
-		</@s.form>
-		</div>
-		</div>
-		
+<head>
+	<title>Struts2 Showcase - Chat - Show Room </title>
+<@sx.head />
+	<style type="text/css">
+		div.box {
+			border: 1px solid darkblue;
+			margin: 5px;
+		}
+
+		div.box h3 {
+			color: white;
+			background: darkblue;
+			margin: 3px;
+			padding: 2px;
+		}
+
+		div.nobox {
+			margin: 5px;
+		}
+
+		table.table {
+			border: 1px solid darkblue;
+			width: 98%;
+			margin: 5px;
+		}
+
+		table.table tr.tableHeader {
+			color: white;
+			background: darkblue;
+			margin: 3px;
+			padding: 2px;
+			font-size: medium;
+			font-weight: bold;
+		}
+
+		table.table td.tableSenderColumnOdd {
+			background: gray;
+			color: white;
+			width: 20%
+		}
+
+		table.table td.tableDateColumnOdd {
+			background: gray;
+			color: white;
+			width: 20%;
+		}
+
+		table.table td.tableMessageColumnOdd {
+			background: gray;
+			color: white;
+			width: 60%;
+		}
+
+		table.table td.tableSenderColumnEven {
+			background: white;
+			color: gray;
+			width: 20%
+		}
 
-		<div class="right">
-		<div class="box">
-		<h3>Users Available In Room [${roomName?default('')?html}]</h3>
-		<@s.url id="url" value="/chat/ajax/usersAvailableInRoom.action" includeContext="true">
-			<@s.param name="roomName" value="%{roomName}" />
-		</@s.url>
-		<@sx.div id="usersAvailableInRoom" href="%{#url}" includeContext="true"
+		table.table td.tableDateColumnEven {
+			background: white;
+			color: gray;
+			width: 20%;
+		}
+
+		table.table td.tableMessageColumnEven {
+			background: white;
+			color: gray;
+			width: 60%;
+		}
+
+		div.container {
+			margin-left: auto;
+			margin-right: auto;
+			width: 100%;
+		}
+
+		div.left {
+			width: 20%;
+			float: left;
+		}
+
+		div.right {
+			width: 20%;
+			float: left;
+		}
+
+		div.center {
+			width: 60%;
+			float: left;
+		}
+
+	</style>
+</head>
+<body>
+<div class="page-header">
+	<h1>Chat - Show Room</h1>
+</div>
+
+<div class="container-fluid">
+	<div class="row-fluid">
+		<div class="span12 container">
+			<div class="left">
+				<div class="box">
+					<h3>Operation</h3>
+				<@s.url id="url" action="exitRoom" namespace="/chat">
+					<@s.param name="roomName" value="%{roomName}" />
+				</@s.url>
+					<ul>
+						<li><@s.a href="%{#url}">Exit Room</@s.a></li>
+					</ul>
+				</div>
+				<div class="box">
+					<h3>Users Available In Chat</h3>
+				<@s.url id="usersAvailableUrl" action="usersAvailable" namespace="/chat/ajax" />
+				<@sx.div id="usersAvailable" href="%{usersAvailableUrl}"
+				updateFreq="%{@org.apache.struts2.showcase.chat.Constants@UPDATE_FREQ}">
+					Initial Users Available ...
+				</@sx.div>
+				</div>
+			</div>
+
+			<div class="center">
+				<div class="box">
+					<h3>Messages Posted In Room [${roomName?default('')?html}]</h3>
+				<@s.url id="url" value="/chat/ajax/messagesAvailableInRoom.action" includeContext="true">
+					<@s.param name="roomName" value="%{roomName}" />
+				</@s.url>
+				<@sx.div id="messagesInRoom" href="%{#url}" includeContext="true"
+				updateFreq="%{@org.apache.struts2.showcase.chat.Constants@UPDATE_FREQ}"
+				listenTopics="topicMessageSend">
+					Initial Messages In Room ...
+				</@sx.div>
+				</div>
+
+				<div class="box">
+					<h3>Send Messages</h3>
+				<@s.form id="sendMessageForm" action="sendMessageToRoom" namespace="/chat/ajax" method="POST">
+					<div id="sendMessageResult"></div>
+					<@s.textarea label="Message"name="message" theme="xhtml" />
+					<@s.hidden name="roomName" value="%{roomName}" />
+					<@sx.submit id="submit" resultDivId="sendMessageResult" afterNotifyTopics="topicMessageSend" value="%{'Send'}"  cssClass="btn btn-primary"/>
+				</@s.form>
+				</div>
+			</div>
+
+
+			<div class="right">
+				<div class="box">
+					<h3>Users Available In Room [${roomName?default('')?html}]</h3>
+				<@s.url id="url" value="/chat/ajax/usersAvailableInRoom.action" includeContext="true">
+					<@s.param name="roomName" value="%{roomName}" />
+				</@s.url>
+				<@sx.div id="usersAvailableInRoom" href="%{#url}" includeContext="true"
 				delay="1" updateFreq="%{@org.apache.struts2.showcase.chat.Constants@UPDATE_FREQ}">
-			Initial Users Available In Room ...
-		</@sx.div>
-		</div>
-		</div>
-		
-		
+					Initial Users Available In Room ...
+				</@sx.div>
+				</div>
+			</div>
+
+
 		</div>
-	
-	</body>
+	</div>
+</div>
+</body>
 </html>

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/enterAddressInfo.jsp
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/enterAddressInfo.jsp?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/enterAddressInfo.jsp (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/enterAddressInfo.jsp Fri Oct 19 18:49:39 2012
@@ -1,48 +1,53 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8"
-    pageEncoding="UTF-8"%>
-<%@taglib prefix="s" uri="/struts-tags" %>   
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<%@taglib prefix="s" uri="/struts-tags" %>
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Showcase - Conversion - Set</title>
+	<title>Struts2 Showcase - Conversion - Populate into Struts action class a Set of Address.java Object</title>
 </head>
 <body>
-
-<p/>
-An example populating a Set of object (Address.java) into Struts' action (AddressAction.java)
-
-<p/>
-
-See the jsp code <s:url var="url" action="showAddressJspCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
-See the code for PersonAction.java <s:url var="url" action="showAddressActionJavaCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
-See the code for Person.java <s:url var="url" action="showAddressJavaCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
-
-<p/>
-
-	<s:form action="submitAddressesInfo" namespace="/conversion">
-		<s:iterator value="%{new int[3]}" status="stat">
-			<s:textfield label="%{'Address '+#stat.index}"
-					 	 name="%{'addresses(\\'id'+#stat.index+'\\').address'}" />
-		</s:iterator>
-		<s:submit />
-	</s:form>
-	
-	<%--
-		The following is how its done statically
-	--%>
-	<%-- 
-	<s:form action="submitAddressInfo" namespace="/conversion">
-		<s:textfield label="Address 0"
-					 name="addresses('id0')" />
-		<s:textfield label="Address 1"
-					 name="addresses('id1')" />
-		<s:textfield label="Address 2"
-					 name="addresses('id2')" />
-		<s:submit />
-	</s:form>
-	--%>
-
+<div class="page-header">
+	<h1>Conversion - Populate into Struts action class a Set of Address.java Object</h1>
+</div>
+
+<div class="container-fluid">
+	<div class="row-fluid">
+		<div class="span12">
+
+			<p/>
+			An example populating a Set of object (Address.java) into Struts' action (AddressAction.java)
+			<p/>
+
+			See the jsp code <s:url var="url" action="showAddressJspCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
+			See the code for PersonAction.java <s:url var="url" action="showAddressActionJavaCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
+			See the code for Person.java <s:url var="url" action="showAddressJavaCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
+
+			<p/>
+
+				<s:form action="submitAddressesInfo" namespace="/conversion">
+					<s:iterator value="%{new int[3]}" status="stat">
+						<s:textfield label="%{'Address '+#stat.index}"
+								     name="%{'addresses(\\'id'+#stat.index+'\\').address'}" />
+					</s:iterator>
+					<s:submit cssClass="btn btn-primary"/>
+				</s:form>
+
+				<%--
+					The following is how its done statically
+				--%>
+				<%--
+				<s:form action="submitAddressInfo" namespace="/conversion">
+					<s:textfield label="Address 0"
+								 name="addresses('id0')" />
+					<s:textfield label="Address 1"
+								 name="addresses('id1')" />
+					<s:textfield label="Address 2"
+								 name="addresses('id2')" />
+					<s:submit />
+				</s:form>
+				--%>
+
+		</div>
+	</div>
+</div>
 
 </body>
 </html>
\ No newline at end of file

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/enterOperations.jsp
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/enterOperations.jsp?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/enterOperations.jsp (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/enterOperations.jsp Fri Oct 19 18:49:39 2012
@@ -1,31 +1,38 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8"
-    pageEncoding="UTF-8"%>
-<%@taglib prefix="s" uri="/struts-tags" %>    
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<%@taglib prefix="s" uri="/struts-tags" %>
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Showcase - Conversion - Tiger 5 Enum </title>
+	<title>Struts2 Showcase - Conversion - Tiger 5 Enum</title>
 </head>
 <body>
+<div class="page-header">
+	<h1>Conversion - Tiger 5 Enum</h1>
+</div>
 
-See the jsp code <s:url var="url" action="showEnumJspCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
-See the code for OperationsEnum.java <s:url var="url" action="showOperationsEnumJavaCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
-See the code for OperationsEnumAction.java <s:url var="url" action="showOperationEnumActionJavaCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
-See the code for EnumTypeConverter.java  <s:url var="url" action="showEnumTypeConverterJavaCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
-See the properties for OperationsEnumAction-conversion.properties <s:url var="url" action="showOperationsEnumActionConversionProperties" namespace="/conversion" /><s:a href="%{#url}">here.</s:a>
-<br/>
-<br/>
+<div class="container-fluid">
+	<div class="row-fluid">
+		<div class="span12">
 
-	<s:form action="submitOperationEnumInfo" namespace="/conversion">
-		<s:checkboxlist label="Operations" 
-						name="selectedOperations"
-						list="%{availableOperations}" 
-						listKey="name()" 
-						listValue="name()"
-						/>
-		<s:submit />
-	</s:form>
 
+			See the jsp code <s:url var="url" action="showEnumJspCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
+			See the code for OperationsEnum.java <s:url var="url" action="showOperationsEnumJavaCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
+			See the code for OperationsEnumAction.java <s:url var="url" action="showOperationEnumActionJavaCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
+			See the code for EnumTypeConverter.java  <s:url var="url" action="showEnumTypeConverterJavaCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
+			See the properties for OperationsEnumAction-conversion.properties <s:url var="url" action="showOperationsEnumActionConversionProperties" namespace="/conversion" /><s:a href="%{#url}">here.</s:a>
+			<br/>
+			<br/>
+
+				<s:form action="submitOperationEnumInfo" namespace="/conversion">
+					<s:checkboxlist label="Operations"
+									name="selectedOperations"
+									list="%{availableOperations}"
+									listKey="name()"
+									listValue="name()"
+									/>
+					<s:submit cssClass="btn btn-primary"/>
+				</s:form>
+
+		</div>
+	</div>
+</div>
 </body>
 </html>
\ No newline at end of file

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/enterPersonInfo.jsp
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/enterPersonInfo.jsp?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/enterPersonInfo.jsp (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/enterPersonInfo.jsp Fri Oct 19 18:49:39 2012
@@ -1,58 +1,67 @@
 <%@taglib prefix="s" uri="/struts-tags" %>
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Showcase - Conversion - Populate Object into Struts' action List</title>
+	<title>Struts2 Showcase - Conversion - Populate Object into Struts' action List</title>
 </head>
 <body>
+<div class="page-header">
+	<h1>Conversion - Populate Object into Struts' action List</h1>
+</div>
+
+<div class="container-fluid">
+	<div class="row-fluid">
+		<div class="span12">
+
+
+			<p/>
+				An example populating a list of object (Person.java) into Struts' action (PersonAction.java)
+			<p/>
+
+			See the jsp code <s:url var="url" action="showPersonJspCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
+			See the code for PersonAction.java <s:url var="url" action="showPersonActionJavaCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
+			See the code for Person.java <s:url var="url" action="showPersonJavaCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
+
+			<p/>
+
+			<s:actionerror cssClass="alert alert-error"/>
+			<s:fielderror cssClass="alert alert-error"/>
+
+			<s:form action="submitPersonInfo" namespace="/conversion" method="post">
+			    <%--
+			        The following is done Dynamically
+			    --%>
+			    <s:iterator value="new int[3]" status="stat">
+			        <s:textfield    label="%{'Person '+#stat.index+' Name'}"
+			                        name="%{'persons['+#stat.index+'].name'}" />
+			        <s:textfield    label="%{'Person '+#stat.index+' Age'}"
+			                        name="%{'persons['+#stat.index+'].age'}" />
+			    </s:iterator>
 
-<p/>
-An example populating a list of object (Person.java) into Struts' action (PersonAction.java)
 
-<p/>
-
-See the jsp code <s:url var="url" action="showPersonJspCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
-See the code for PersonAction.java <s:url var="url" action="showPersonActionJavaCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
-See the code for Person.java <s:url var="url" action="showPersonJavaCode" namespace="/conversion" /><s:a href="%{#url}">here.</s:a><br/>
-
-<p/>
-
-<s:actionerror />
-<s:fielderror />
-
-<s:form action="submitPersonInfo" namespace="/conversion" method="post">
-    <%--
-        The following is done Dynamically
-    --%>
-    <s:iterator value="new int[3]" status="stat">
-        <s:textfield    label="%{'Person '+#stat.index+' Name'}" 
-                        name="%{'persons['+#stat.index+'].name'}" />
-        <s:textfield    label="%{'Person '+#stat.index+' Age'}" 
-                        name="%{'persons['+#stat.index+'].age'}" />
-    </s:iterator>
-    
-    
-    
-    <%--
-    The following is done statically:-
-    --%>
-    <%-- 
-    <s:textfield    label="Person 1 Name" 
-                    name="persons[0].name" />
-    <s:textfield    label="Person 1 Age"
-                    name="persons[0].age" />
-    <s:textfield    label="Person 2 Name" 
-                    name="persons[1].name" />
-    <s:textfield    label="Person 2 Age"
-                    name="persons[1].age" />
-    <s:textfield    label="Person 3 Name" 
-                    name="persons[2].name" />
-    <s:textfield    label="Person 3 Age"
-                    name="persons[2].age" />
-    --%>                
-                    
-    <s:submit />
-</s:form>
 
+			    <%--
+			    The following is done statically:-
+			    --%>
+			    <%--
+			    <s:textfield    label="Person 1 Name"
+			                    name="persons[0].name" />
+			    <s:textfield    label="Person 1 Age"
+			                    name="persons[0].age" />
+			    <s:textfield    label="Person 2 Name"
+			                    name="persons[1].name" />
+			    <s:textfield    label="Person 2 Age"
+			                    name="persons[1].age" />
+			    <s:textfield    label="Person 3 Name"
+			                    name="persons[2].name" />
+			    <s:textfield    label="Person 3 Age"
+			                    name="persons[2].age" />
+			    --%>
+
+			    <s:submit cssClass="btn btn-primary"/>
+			</s:form>
+
+		</div>
+	</div>
+</div>
 </body>
 </html>
\ No newline at end of file

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/index.jsp
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/index.jsp?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/index.jsp (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/index.jsp Fri Oct 19 18:49:39 2012
@@ -2,25 +2,34 @@
 
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Showcase - Conversion</title>
+	<title>Struts2 Showcase - Conversion</title>
 </head>
 <body>
+<div class="page-header">
+	<h1>Conversion</h1>
+</div>
 
-<ul>
-    <li>
-    	<s:url var="url" action="enterPersonsInfo" namespace="/conversion" />
-    	<s:a href="%{#url}">Populate into the Struts action class a List of Person.java Object</s:a>
-    </li>
-    <li>
-    	<s:url var="url" action="enterAddressesInfo" namespace="/conversion" />
-    	<s:a href="%{#url}">Populate into Struts action class a Set of Address.java Object</s:a>
-    </li>
-    <li>
-    	<s:url var="url" action="enterOperationEnumInfo" namespace="/conversion" />
-    	<s:a href="%{#url}">Populate into Struts action class a List of OperationEnum.java (Java5 Enum)</s:a> 
-    </li>
-</ul>
+<div class="container-fluid">
+	<div class="row-fluid">
+		<div class="span12">
 
+			<ul>
+			    <li>
+			        <s:url var="url" action="enterPersonsInfo" namespace="/conversion" />
+			        <s:a href="%{#url}">Populate into the Struts action class a List of Person.java Object</s:a>
+			    </li>
+			    <li>
+			        <s:url var="url" action="enterAddressesInfo" namespace="/conversion" />
+			        <s:a href="%{#url}">Populate into Struts action class a Set of Address.java Object</s:a>
+			    </li>
+			    <li>
+			        <s:url var="url" action="enterOperationEnumInfo" namespace="/conversion" />
+			        <s:a href="%{#url}">Populate into Struts action class a List of OperationEnum.java (Java5 Enum)</s:a>
+			    </li>
+			</ul>
+
+		</div>
+	</div>
+</div>
 </body>
 </html>
\ No newline at end of file

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/showAddressInfo.jsp
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/showAddressInfo.jsp?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/showAddressInfo.jsp (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/showAddressInfo.jsp Fri Oct 19 18:49:39 2012
@@ -1,15 +1,21 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8"
-    pageEncoding="UTF-8"%>
 <%@taglib prefix="s" uri="/struts-tags" %>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Showcase - Conversion - Set </title>
+	<title>Struts2 Showcase - Conversion - Populate into Struts action class a Set of Address.java Object</title>
 </head>
 <body>
-	<s:iterator value="%{addresses}">
-		<s:property value="%{top.id}" /> -> <s:property value="%{top.address}" /><br/>
-	</s:iterator>
+<div class="page-header">
+	<h1>Conversion - Populate into Struts action class a Set of Address.java Object</h1>
+</div>
+
+<div class="container-fluid">
+	<div class="row-fluid">
+		<div class="span12">
+			<s:iterator value="%{addresses}">
+				<s:property value="%{top.id}" /> -> <s:property value="%{top.address}" /><br/>
+			</s:iterator>
+		</div>
+	</div>
+</div>
 </body>
 </html>
\ No newline at end of file

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/showOperations.jsp
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/showOperations.jsp?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/showOperations.jsp (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/showOperations.jsp Fri Oct 19 18:49:39 2012
@@ -1,17 +1,21 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8"
-    pageEncoding="UTF-8"%>
-<%@taglib prefix="s" uri="/struts-tags" %>    
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<%@taglib prefix="s" uri="/struts-tags" %>
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Showcase - Conversion - Tiger 5 Enum</title>
+	<title>Struts2 Showcase - Conversion - Tiger 5 Enum</title>
 </head>
 <body>
+<div class="page-header">
+	<h1>Conversion - Tiger 5 Enum</h1>
+</div>
 
-	<s:iterator value="%{selectedOperations}" status="stat">
-		<s:property value="%{top.name()}" /><br/>
-	</s:iterator>
-	
+<div class="container-fluid">
+	<div class="row-fluid">
+		<div class="span12">
+			<s:iterator value="%{selectedOperations}" status="stat">
+				<s:property value="%{top.name()}" /><br/>
+			</s:iterator>
+		</div>
+	</div>
+</div>
 </body>
 </html>
\ No newline at end of file

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/showPersonInfo.jsp
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/showPersonInfo.jsp?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/showPersonInfo.jsp (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/conversion/showPersonInfo.jsp Fri Oct 19 18:49:39 2012
@@ -1,17 +1,24 @@
 <%@taglib prefix="s" uri="/struts-tags" %>
-
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Showcase - Conversion - Populate Object into Struts action List</title>
+	<title>Struts2 Showcase - Conversion - Populate Object into Struts' action List</title>
 </head>
 <body>
+<div class="page-header">
+	<h1>Conversion - Populate Object into Struts' action List</h1>
+</div>
 
-<s:iterator value="persons" status="status">
-    <s:label label="%{'SET '+#status.index+' Name'}" value="%{name}" /><br/>
-    <s:label label="%{'SET '+#status.index+' Age'}" value="%{age}" /><br/>
-</s:iterator>
+<div class="container-fluid">
+	<div class="row-fluid">
+		<div class="span12">
 
+			<s:iterator value="persons" status="status">
+                 <s:label label="%{'SET '+#status.index+' Name'}" value="%{name}" /><br/>
+                 <s:label label="%{'SET '+#status.index+' Age'}" value="%{age}" /><br/>
+			</s:iterator>
+		</div>
+	</div>
+</div>
 </body>
 </html>
 

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/empmanager/editEmployee.jsp
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/empmanager/editEmployee.jsp?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/empmanager/editEmployee.jsp (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/empmanager/editEmployee.jsp Fri Oct 19 18:49:39 2012
@@ -1,43 +1,56 @@
 <%@ taglib prefix="s" uri="/struts-tags" %>
 <%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
-
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-
-<s:if test="currentEmployee!=null">
-    <s:text var="title" name="item.edit"><s:param><s:text name="employee"/></s:param></s:text>
-</s:if>
-<s:else>
-    <s:text var="title" name="item.create"><s:param><s:text name="employee"/></s:param></s:text>
-</s:else>
 <html>
 <head>
-    <title><s:property value="#title"/></title>
-    <s:head/>
-    <sx:head/>
+	<s:if test="currentEmployee!=null">
+		<s:text var="title" name="item.edit"><s:param><s:text name="employee"/></s:param></s:text>
+	</s:if>
+	<s:else>
+		<s:text var="title" name="item.create"><s:param><s:text name="employee"/></s:param></s:text>
+	</s:else>
+	<title>Struts2 Showcase - CRUD Example - <s:property value="#title"/></title>
+	<s:head/>
+	<sx:head/>
 </head>
-
 <body>
-<h1><s:property value="#title"/></h1>
+<div class="page-header">
+	<h1><s:property value="#title"/></h1>
+</div>
+
+<div class="container-fluid">
+	<div class="row-fluid">
+		<div class="span3">
+			<ul class="nav nav-tabs nav-stacked">
+				<li><s:url var="url" namespace="/employee" action="list"/><s:a href="%{url}">List available Employees</s:a></li>
+				<li class="active"><s:url var="url" namespace="/employee" action="edit"/><s:a href="%{url}">Create/Edit Employee</s:a></li>
+				<li><s:url var="url" namespace="/skill" action="list"/><s:a href="%{url}">List available Skills</s:a></li>
+				<li><s:url var="url" namespace="/skill" action="edit"/><s:a href="%{url}">Create/Edit Skill</s:a></li>
+			</ul>
+		</div>
+		<div class="span9">
+
+			<s:action var="skillAction" namespace="/skill" name="list"/>
 
-<s:action var="skillAction" namespace="/skill" name="list"/>
+			<s:form name="editForm" action="save">
+				<s:textfield label="Employee Id" name="currentEmployee.empId"/>
+				<s:textfield label="%{getText('employee.firstName')}" name="currentEmployee.firstName"/>
+				<s:textfield label="%{getText('employee.lastName')}" name="currentEmployee.lastName"/>
+				<sx:datetimepicker label="Birthdate" name="currentEmployee.birthDate"/>
+				<s:textfield label="Salary" name="currentEmployee.salary" value="%{getText('format.number',{currentEmployee.salary})}" />
+				<s:checkbox fieldValue="true" label="Married" name="currentEmployee.married"/>
+				<s:combobox list="availablePositions" label="Position" name="currentEmployee.position"/>
+				<s:select list="#skillAction.availableItems" listKey="name" label="Main Skill"
+				          name="currentEmployee.mainSkill.name"/>
+				<s:select list="#skillAction.availableItems" listKey="name" listValue="description" label="Other Skills"
+				          name="selectedSkills" multiple="true"/>
+				<s:password label="Password" name="currentEmployee.password"/>
+				<s:radio list="availableLevels" name="currentEmployee.level"/>
+				<s:textarea label="Comment" name="currentEmployee.comment" cols="50" rows="3"/>
+				<s:submit value="%{getText('save')}"  cssClass="btn btn-primary"/>
+			</s:form>
 
-<s:form name="editForm" action="save">
-    <s:textfield label="Employee Id" name="currentEmployee.empId"/>
-    <s:textfield label="%{getText('employee.firstName')}" name="currentEmployee.firstName"/>
-    <s:textfield label="%{getText('employee.lastName')}" name="currentEmployee.lastName"/>
-    <sx:datetimepicker label="Birthdate" name="currentEmployee.birthDate"/>
-    <s:textfield label="Salary" name="currentEmployee.salary" value="%{getText('format.number',{currentEmployee.salary})}" />
-    <s:checkbox fieldValue="true" label="Married" name="currentEmployee.married"/>
-    <s:combobox list="availablePositions" label="Position" name="currentEmployee.position"/>
-    <s:select list="#skillAction.availableItems" listKey="name" label="Main Skill"
-               name="currentEmployee.mainSkill.name"/>
-    <s:select list="#skillAction.availableItems" listKey="name" listValue="description" label="Other Skills"
-               name="selectedSkills" multiple="true"/>
-    <s:password label="Password" name="currentEmployee.password"/>
-    <s:radio list="availableLevels" name="currentEmployee.level"/>
-    <s:textarea label="Comment" name="currentEmployee.comment" cols="50" rows="3"/>
-    <s:submit value="%{getText('save')}" />
-</s:form>
-<p><a href="<s:url action="list"/>"><s:text name="employee.backtolist"/></a></p>
+		</div>
+	</div>
+</div>
 </body>
 </html>

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/empmanager/editSkill.jsp
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/empmanager/editSkill.jsp?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/empmanager/editSkill.jsp (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/empmanager/editSkill.jsp Fri Oct 19 18:49:39 2012
@@ -1,27 +1,42 @@
-<%@ taglib prefix="s" uri="/struts-tags" %>
-
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-
-<s:if test="currentSkill!=null">
-    <s:set name="submitType" value="'update'"/>
-    <s:text id="title" name="item.edit"><s:param><s:text name="skill"/></s:param></s:text>
-</s:if>
-<s:else>
-    <s:set name="submitType" value="'create'"/>
-    <s:text var="title" name="item.create"><s:param><s:text name="skill"/></s:param></s:text>
-</s:else>
+<%@taglib prefix="s" uri="/struts-tags" %>
 <html>
-<head><title><s:property value="#title"/></title></head>
-
+<head>
+	<s:if test="currentSkill!=null">
+		<s:set name="submitType" value="'update'"/>
+		<s:text id="title" name="item.edit"><s:param><s:text name="skill"/></s:param></s:text>
+	</s:if>
+	<s:else>
+		<s:set name="submitType" value="'create'"/>
+		<s:text var="title" name="item.create"><s:param><s:text name="skill"/></s:param></s:text>
+	</s:else>
+	<title>Struts2 Showcase - CRUD Example - <s:property value="#title"/></title>
+</head>
 <body>
-<h1><s:property value="#title"/></h1>
+<div class="page-header">
+	<h1><s:property value="#title"/></h1>
+</div>
+
+<div class="container-fluid">
+	<div class="row-fluid">
+		<div class="span3">
+			<ul class="nav nav-tabs nav-stacked">
+				<li><s:url var="url" namespace="/employee" action="list"/><s:a href="%{url}">List available Employees</s:a></li>
+				<li><s:url var="url" namespace="/employee" action="edit"/><s:a href="%{url}">Create/Edit Employee</s:a></li>
+				<li><s:url var="url" namespace="/skill" action="list"/><s:a href="%{url}">List available Skills</s:a></li>
+				<li class="active"><s:url var="url" namespace="/skill" action="edit"/><s:a href="%{url}">Create/Edit Skill</s:a></li>
+			</ul>
+		</div>
+		<div class="span9">
+
+			<s:form action="save">
+				<s:textfield label="%{getText('skill.name')}" name="currentSkill.name"/>
+				<s:textfield label="%{getText('skill.description')}" name="currentSkill.description"/>
+				<%--s:submit name="%{#submitType}" value="%{getText('save')}" /--%>
+				<s:submit value="%{getText('save')}" cssClass="btn btn-primary"/>
+			</s:form>
 
-<s:form action="save">
-    <s:textfield label="%{getText('skill.name')}" name="currentSkill.name"/>
-    <s:textfield label="%{getText('skill.description')}" name="currentSkill.description"/>
-    <%--s:submit name="%{#submitType}" value="%{getText('save')}" /--%>
-    <s:submit value="%{getText('save')}" />
-</s:form>
-<p><a href="<s:url action="list"/>"><s:text name="skill.backtolist"/></a></p>
+		</div>
+	</div>
+</div>
 </body>
 </html>

Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/empmanager/index.jsp
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/empmanager/index.jsp?rev=1400220&r1=1400219&r2=1400220&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/empmanager/index.jsp (original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/empmanager/index.jsp Fri Oct 19 18:49:39 2012
@@ -1,21 +1 @@
-<%@taglib prefix="s" uri="/struts-tags" %>
-
-<html>
-<head>
-<title>Showcase - CRUD </title>
-</head>
-<body>
-<h1> CRUD </h1>
-
-<p>
-    <ul>
-        <li><s:url var="url" namespace="/skill" action="list"/><s:a href="%{url}">List available Skills</s:a></li>
-        <li><s:url var="url" namespace="/skill" action="edit"/><s:a href="%{url}">Create/Edit Skill</s:a></li>
-        <li><s:url var="url" namespace="/employee" action="list"/><s:a href="%{url}">List available Employees</s:a></li>
-        <li><s:url var="url" namespace="/employee" action="edit"/><s:a href="%{url}">Create/Edit Employee</s:a></li>
-    </ul>
-</p>
-
-
-</body>
-</html>
+<% response.sendRedirect("../employee/list.action"); %>



Mime
View raw message