Author: tmjee
Date: Sun Jul 16 02:58:16 2006
New Revision: 422423

URL: http://svn.apache.org/viewvc?rev=422423&view=rev
Log:
WW-1375 finnish up hangman example

Added:
    struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/hangmanMenu.ftl
    
struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/hangmanNonAjax.ftl
Modified:
    
struts/struts2/trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/GuessCharacterAction.java
    struts/struts2/trunk/apps/showcase/src/main/resources/struts-hangman.xml
    struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/hangmanAjax.ftl
    
struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/updateCharacterAvailable.ftl

Modified: 
struts/struts2/trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/GuessCharacterAction.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/GuessCharacterAction.java?rev=422423&r1=422422&r2=422423&view=diff
==============================================================================
--- 
struts/struts2/trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/GuessCharacterAction.java
 (original)
+++ 
struts/struts2/trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/hangman/GuessCharacterAction.java
 Sun Jul 16 02:58:16 2006
@@ -12,18 +12,17 @@
        
        private Map session;
        private Character character;
-       
+       private Hangman hangman;
        
        public String execute() throws Exception {
-               Hangman hangman = (Hangman) 
session.get(HangmanConstants.HANGMAN_SESSION_KEY);
+               hangman = (Hangman) 
session.get(HangmanConstants.HANGMAN_SESSION_KEY);
                hangman.guess(character);
                
-               System.out.println("\n\n\n");
-               System.out.println("character="+character);
-               
System.out.println("available="+hangman.getCharactersAvailable().size());
-               System.out.println("\n\n\n");
-               
                return SUCCESS;
+       }
+       
+       public Hangman getHangman() {
+               return hangman;
        }
 
        public void setSession(Map session) {

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=422423&r1=422422&r2=422423&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 
Sun Jul 16 02:58:16 2006
@@ -7,14 +7,20 @@
 <struts>
        <include file="struts-default.xml" />
        <package name="hangman" extends="struts-default" namespace="/hangman">
-               <action name="hangman" class="startHangmanAction">
-                       <result type="freemarker">/hangman/hangman.ftl</result> 
        
+               <action name="hangmanAjax" class="startHangmanAction">
+                       <result 
type="freemarker">/hangman/hangmanAjax.ftl</result>             
+               </action>
+               <action name="hangmanNonAjax" class="startHangmanAction">
+                       <result 
type="freemarker">/hangman/hangmanNonAjax.ftl</result>
                </action>
                <action name="test">
                        <result type="freemarker">/hangman/test.ftl</result>
                </action>
                <action name="guessCharacter" class="guessCharacterAction">
                        <result type="freemarker">/hangman/blank.ftl</result>
+               </action>
+               <action name="guessCharacterNonAjax" 
class="guessCharacterAction">
+                       <result 
type="freemarker">/hangman/hangmanNonAjax.ftl</result>
                </action>
        </package>
        

Modified: 
struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/hangmanAjax.ftl
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/hangmanAjax.ftl?rev=422423&r1=422422&r2=422423&view=diff
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/hangmanAjax.ftl 
(original)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/hangmanAjax.ftl 
Sun Jul 16 02:58:16 2006
@@ -179,7 +179,7 @@
     <@saf.iterator id="currentCharacter" 
value="%{hangman.vocab.inCharacters()}" stat="stat">
        <#if hangman.characterGuessedBefore(currentCharacter)>
                <@saf.set name="chalkboardImageName" 
value="%{'Chalkboard_'+#currentCharacter.toString()+'.png'}" />
-               <@saf.url id="url" value="%{'/hangman/images/'+#url}" />
+               <@saf.url id="url" 
value="%{'/hangman/images/'+#chalkboardImageName}" />
                <img height="36" alt="<@saf.property 
value="%{#currentCharacter}" />"
                        src="<@saf.property value="%{#url}" />" width="36" 
border="0"/>
        <#else>

Added: 
struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/hangmanMenu.ftl
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/hangmanMenu.ftl?rev=422423&view=auto
==============================================================================
--- struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/hangmanMenu.ftl 
(added)
+++ struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/hangmanMenu.ftl 
Sun Jul 16 02:58:16 2006
@@ -0,0 +1,18 @@
+
+<html>
+<head>
+       <title>Showcase - Hangman - Menu</title>
+</head>
+<body>
+       <ul>
+               <li>
+                       <@saf.url id="url" action="hangmanAjax" 
namespace="/hangman" />
+                       <@saf.a href="%{#url}">Hangman (Ajax)</@saf.a>
+               </li>
+               <li>
+                       <@saf.url id="url" action="hangmanNonAjax" 
namespace="/hangman" />
+                       <@saf.a href="%{#url}">Hangman (Non Ajax)</@saf.a>
+               </li>
+       </ul>
+</body>
+</html>

Added: 
struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/hangmanNonAjax.ftl
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/hangmanNonAjax.ftl?rev=422423&view=auto
==============================================================================
--- 
struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/hangmanNonAjax.ftl 
(added)
+++ 
struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/hangmanNonAjax.ftl 
Sun Jul 16 02:58:16 2006
@@ -0,0 +1,135 @@
+<html>
+<head>
+       <title>Showcase - Hangman</title>
+       <@saf.head theme="xhtml" />
+</head>
+<body>
+<table bgcolor="green"> 
+  <tr> 
+    <td>
+    <@saf.url id="url" value="/hangman/images/hangman.png" />
+    <img alt="Hangman" src="<@saf.property value="%{#url}" />" 
+           width="197" height="50" border="0"/> 
+    </td> 
+    <td width="70" align="right">
+      <#-- Guesses Left -->
+      <div id="updateGuessLeftDiv">
+      <#if (hangman.guessLeft() >= 0)>
+      <@saf.set name="guessLeftImageName" 
value="%{'Chalkboard_'+hangman.guessLeft()+'.png'}" />
+      <@saf.url id="url" value="%{'/hangman/images/'+#guessLeftImageName}" />
+      <img alt="No. Guesses Left"
+          src="<@saf.property value="%{#url}"/>" width="20" height="20" 
border="0" />
+      </#if>
+      </div>
+    </td>
+    <td>
+       <@saf.url id="url" value="/hangman/images/guesses-left.png" /> 
+       <img alt="Guesses Left"
+            src="<@saf.property value="%{#url}" />" width="164" height="11" 
border="0"/> 
+    </td>
+  </tr> 
+  <tr> 
+       <td></td>
+    <td align="left">
+    <#-- Display Scaffold -->
+       <div id="updateScaffoldDiv">
+       <@saf.set name="scaffoldImageName" 
value="%{'scaffold_'+hangman.guessLeft()+'.png'}" />
+       <@saf.url id="url" value="%{'/hangman/images/'+#scaffoldImageName}" />
+       <img src="<@saf.property value="%{#url}" />" border="0"/> 
+    </div>
+    </td>
+    <td></td>
+    </tr> 
+  <tr>
+    <td width="160"> 
+      <p align="right">
+       <@saf.url id="url" value="/hangman/images/guess.png" />
+        <img alt="Current Guess" src="<@saf.property value="%{#url}" />"
+           align="MIDDLE" width="127" height="20" border="0"/></p> 
+    </td> 
+    <td>
+    <#-- Display Vacab  -->
+    <div id="updateVocabDiv">
+    <#if hangman.gameEnded()>
+               <@saf.iterator id="currentCharacter" 
value="%{hangman.vocab.inCharacters()}" stat="stat">
+                       <@saf.url id="url" 
value="%{'/hangman/images/Chalkboard_'+#currentCharacter.toString()+'.png'}" />
+                       <img height="36" alt="<@saf.property 
value="%{#currentCharacter}" />"
+                                       src="<@saf.property value="%{#url}" />" 
width="36" border="0" />
+               </@saf.iterator>
+       <#else>
+    <@saf.iterator id="currentCharacter" 
value="%{hangman.vocab.inCharacters()}" stat="stat">
+       <#if hangman.characterGuessedBefore(currentCharacter)>
+               <@saf.set name="chalkboardImageName" 
value="%{'Chalkboard_'+#currentCharacter.toString()+'.png'}" />
+               <@saf.url id="url" 
value="%{'/hangman/images/'+#chalkboardImageName}" />
+               <img height="36" alt="<@saf.property 
value="%{#currentCharacter}" />"
+                       src="<@saf.property value="%{#url}" />" width="36" 
border="0"/>
+       <#else>
+               <@saf.url id="url" 
value="/hangman/images/Chalkboard_underscroll.png" />
+               <img height="36" alt="_"
+                       src="<@saf.property value="%{#url}" />" width="36" 
border="0"/>
+       </#if>
+       </@saf.iterator>
+       </#if>
+       </div>
+    </td> 
+  </tr>
+  <tr> 
+    <td valign="top"> 
+      <p align="right">
+       <@saf.url id="url" value="/hangman/images/choose.png" />
+        <img alt="Choose" src="<@saf.property value="%{#url}" />" 
+             height="20" width="151" border="0"/>
+      </p> 
+    </td> 
+    <td width="330">
+    
+    <#-- Show Characters Available -->
+    <div id="updateCharacterAvailableDiv">
+    <#if hangman.gameEnded()>
+       <@saf.set name="winImageName" value="%{'you-win.png'}" />
+       <@saf.set name="looseImageName" value="%{'you-lose.png'}" />
+       <@saf.set name="startImageName" value="%{'start.png'}" />
+       <@saf.url id="winImageUrl" value="%{'/hangman/images/'+#winImageName}"  
/>
+       <@saf.url id="looseImageUrl" 
value="%{'/hangman/images/'+#looseImageName}" />
+       <@saf.url id="startImageUrl" 
value="%{'/hangman/images/'+#startImageName}" />
+       <@saf.url id="startHref" action="hangmanNonAjax" namespace="/hangman" />
+       
+       <#if hangman.isWin()>
+       <img src="<@saf.property value="%{#winImageUrl}" />" width="341" 
height="44" />
+       <#else>
+       <img src="<@saf.property value="%{#looseImageUrl}" />" width="381" 
height="44" />
+       </#if>
+       <@saf.a href="%{#startHref}">
+               <img src="<@saf.property value="%{#startImageUrl}" />" 
width="250" height="43" />
+       </@saf.a>
+       <#else>
+       <@saf.iterator id="currentCharacter" 
value="%{hangman.charactersAvailable}" status="stat">
+      <@saf.set name="chalkboardImageName" 
value="%{'Chalkboard_'+#currentCharacter+'.png'}" />
+      <@saf.url id="chalkboardImageUrl" 
value="%{'/hangman/images/'+#chalkboardImageName}" />
+      <@saf.url id="spacerUrl" value="/hangman/images/letter-spacer.png" />
+      <@saf.url id="url" action="guessCharacterNonAjax" namespace="/hangman">
+       <@saf.param name="character" value="%{#currentCharacter}" />
+      </@saf.url>
+      
+      <@saf.a href="%{#url}"
+                 id="%{#currentCharacter}" 
+                 >
+       <img height="36" alt="" src="<@saf.property 
value="%{#chalkboardImageUrl}" />" width="36" border="0" />
+      </@saf.a>
+       </@saf.iterator>
+       </#if>
+       </div>
+ 
+   
+   </td>
+  </tr> 
+  <tr>
+       <td>
+               
+       </td>
+  </tr>
+</table>
+</body>
+</html>
+
+

Modified: 
struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/updateCharacterAvailable.ftl
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/updateCharacterAvailable.ftl?rev=422423&r1=422422&r2=422423&view=diff
==============================================================================
--- 
struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/updateCharacterAvailable.ftl
 (original)
+++ 
struts/struts2/trunk/apps/showcase/src/main/webapp/hangman/updateCharacterAvailable.ftl
 Sun Jul 16 02:58:16 2006
@@ -5,7 +5,7 @@
        <@saf.url id="winImageUrl" value="%{'/hangman/images/'+#winImageName}"  
/>
        <@saf.url id="looseImageUrl" 
value="%{'/hangman/images/'+#looseImageName}" />
        <@saf.url id="startImageUrl" 
value="%{'/hangman/images/'+#startImageName}" />
-       <@saf.url id="startHref" action="hangman" namespace="/hangman" />
+       <@saf.url id="startHref" action="hangmanAjax" namespace="/hangman" />
        
        <#if hangman.isWin()>
        <img src="<@saf.property value="%{#winImageUrl}" />" width="341" 
height="44" />


Reply via email to