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" />