You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by si...@apache.org on 2002/09/03 13:14:27 UTC
cvs commit: jakarta-velocity-tools/struts/examples/struts/examples/struts_app1 edit-address.txt edit-address.vm show-address.jsp show-address.txt show-address.vm show-addressjsp.txt
sidler 2002/09/03 04:14:27
Modified: struts/examples/struts/WEB-INF/classes
ApplicationResources.properties
ApplicationResources_de.properties
struts/examples/struts/WEB-INF/src/examples/app1
AddressAction.java AddressBean.java
AddressForm.java
struts/examples/struts/examples/struts_app1 edit-address.txt
edit-address.vm show-address.jsp show-address.txt
show-address.vm show-addressjsp.txt
Log:
Expanded Velocity/Struts example application "Address Editor" by an
example that shows how to deals with indexed form properties (i.e.
multiple form parameters that are submitted with the same name).
Revision Changes Path
1.4 +8 -0 jakarta-velocity-tools/struts/examples/struts/WEB-INF/classes/ApplicationResources.properties
Index: ApplicationResources.properties
===================================================================
RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/WEB-INF/classes/ApplicationResources.properties,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ApplicationResources.properties 12 Mar 2002 11:36:47 -0000 1.3
+++ ApplicationResources.properties 3 Sep 2002 11:14:27 -0000 1.4
@@ -11,6 +11,14 @@
country=Country
edit=Edit Address
version=Version
+languages=Languages
+chinese=Chinese
+english=English
+french=French
+german=German
+russian=Russian
+spanish=Spanish
+multiple=(multiple can be selected)
save=Save
cancel=cancel
1.3 +8 -0 jakarta-velocity-tools/struts/examples/struts/WEB-INF/classes/ApplicationResources_de.properties
Index: ApplicationResources_de.properties
===================================================================
RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/WEB-INF/classes/ApplicationResources_de.properties,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ApplicationResources_de.properties 9 Jan 2002 11:25:42 -0000 1.2
+++ ApplicationResources_de.properties 3 Sep 2002 11:14:27 -0000 1.3
@@ -11,5 +11,13 @@
country=Land
edit=Adresse mutieren
version=Version
+languages=Sprachen
+chinese=Chinesisch
+english=Englisch
+french=Französisch
+german=Deutsch
+russian=Russisch
+spanish=Spanisch
+multiple=(mehrere wählbar)
save=Speichern
cancel=Abbrechen
1.3 +4 -6 jakarta-velocity-tools/struts/examples/struts/WEB-INF/src/examples/app1/AddressAction.java
Index: AddressAction.java
===================================================================
RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/WEB-INF/src/examples/app1/AddressAction.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AddressAction.java 9 Jan 2002 11:25:43 -0000 1.2
+++ AddressAction.java 3 Sep 2002 11:14:27 -0000 1.3
@@ -47,9 +47,6 @@
public class AddressAction extends Action
{
-
-
-
// --------------------------------------------------------- Public Methods
/**
@@ -108,6 +105,7 @@
bean.setZip( ((AddressForm)form).getZip() );
bean.setCity( ((AddressForm)form).getCity() );
bean.setCountry( ((AddressForm)form).getCountry() );
+ bean.setLanguages( ((AddressForm)form).getLanguages() );
// forward to list
return (mapping.findForward("showAddress"));
@@ -115,8 +113,8 @@
}
else
{
- String language = ((AddressForm)form).getLanguage();
- if (language.equals("Deutsch"))
+ String locale = ((AddressForm)form).getLocale();
+ if (locale.equals("Deutsch"))
session.setAttribute(Action.LOCALE_KEY, new Locale("de", ""));
else
session.setAttribute(Action.LOCALE_KEY, new Locale("en", ""));
1.3 +27 -1 jakarta-velocity-tools/struts/examples/struts/WEB-INF/src/examples/app1/AddressBean.java
Index: AddressBean.java
===================================================================
RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/WEB-INF/src/examples/app1/AddressBean.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AddressBean.java 9 Jan 2002 11:25:43 -0000 1.2
+++ AddressBean.java 3 Sep 2002 11:14:27 -0000 1.3
@@ -14,6 +14,8 @@
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
+import java.util.Properties;
+
/**
* <p>A simple bean that represent an address record.</p>
@@ -39,6 +41,8 @@
private String country;
+ private String[] languages;
+
// ---- Accessor Methods --------------------------------------------
@@ -114,6 +118,28 @@
}
+ public String[] getLanguages()
+ {
+ return languages;
+ }
+
+ public void setLanguages(String[] languages)
+ {
+ this.languages = languages;
+ }
+
+ // Convenience method to simplify repopulation of select lists
+ public Properties getLanguagesAsMap()
+ {
+ Properties p = new Properties();
+ if (languages != null)
+ {
+ for (int i = 0; i < languages.length; i++)
+ p.setProperty((String)languages[i], "SELECTED");
+ }
+ return p;
+ }
+
}
1.3 +29 -16 jakarta-velocity-tools/struts/examples/struts/WEB-INF/src/examples/app1/AddressForm.java
Index: AddressForm.java
===================================================================
RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/WEB-INF/src/examples/app1/AddressForm.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AddressForm.java 9 Jan 2002 11:25:43 -0000 1.2
+++ AddressForm.java 3 Sep 2002 11:14:27 -0000 1.3
@@ -14,6 +14,8 @@
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
+import java.util.ArrayList;
+
/**
* <p>A simple form that allows a user to enter and modify an address.</p>
@@ -29,8 +31,6 @@
private String action = "";
- private String language = "";
-
private String firstname = "";
private String lastname = "";
@@ -43,6 +43,10 @@
private String country = "";
+ private String locale = "";
+
+ private String[] languages;
+
// ---- Accessor Methods --------------------------------------------
@@ -56,18 +60,6 @@
action = s;
}
-
- public String getLanguage()
- {
- return language;
- }
-
- public void setLanguage(String s)
- {
- language = s;
- }
-
-
public String getFirstname()
{
return firstname;
@@ -128,6 +120,27 @@
country = s;
}
+ public String getLocale()
+ {
+ return locale;
+ }
+
+ public void setLocale(String s)
+ {
+ locale = s;
+ }
+
+ public String[] getLanguages()
+ {
+ return languages;
+ }
+
+ public void setLanguages(String[] s)
+ {
+ languages = s;
+ }
+
+
/**
* Reset all properties to their default values.
*
@@ -138,7 +151,7 @@
{
action = "";
- language = "";
+ locale = "";
firstname = "";
lastname = "";
street = "";
1.4 +17 -2 jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/edit-address.txt
Index: edit-address.txt
===================================================================
RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/edit-address.txt,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- edit-address.txt 12 Mar 2002 11:36:48 -0000 1.3
+++ edit-address.txt 3 Sep 2002 11:14:27 -0000 1.4
@@ -7,7 +7,7 @@
<body>
<p><b>$msg.get("edit") (Velocity $msg.get("version"))</b></p>
- <form name="address" method="POST" action="address2.do">
+ <form name="address" method="GET" action="address2.do">
<input type="hidden" name="action" value="list">
<table width="300" border="1" cellspacing="" cellpadding="5">
@@ -35,9 +35,24 @@
<td>$msg.get("country")</td>
<td><input type="text" name="country" value="$!address.country"></td>
</tr>
+ <tr>
+ <td>$msg.get("languages")</td>
+ <td>
+ #set ($map = $address.languagesAsMap)
+ <select name="languages" MULTIPLE size="5">
+ <option value="chinese" $map.getProperty("chinese", "")>$msg.get("chinese")</option>
+ <option value="english" $map.getProperty("english", "")>$msg.get("english")</option>
+ <option value="french" $map.getProperty("french", "")>$msg.get("french")</option>
+ <option value="german" $map.getProperty("german", "")>$msg.get("german")</option>
+ <option value="russian" $map.getProperty("russian", "")>$msg.get("russian")</option>
+ <option value="spanish" $map.getProperty("spanish", "")>$msg.get("spanish")</option>
+ </select>
+ <br>$msg.get("multiple")
+ </td>
+ </tr>
</table>
<br>
-
+
<input type="submit" name="Submit" value=" $msg.get("save") " onclick="address.action.value='save'; document.address.submit(); return false;">
<input type="submit" name="Submit2" value="$msg.get("cancel")" onclick="address.action.value='list'; document.address.submit(); return false;">
</form>
1.4 +17 -2 jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/edit-address.vm
Index: edit-address.vm
===================================================================
RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/edit-address.vm,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- edit-address.vm 12 Mar 2002 11:36:48 -0000 1.3
+++ edit-address.vm 3 Sep 2002 11:14:27 -0000 1.4
@@ -7,7 +7,7 @@
<body>
<p><b>$msg.get("edit") (Velocity $msg.get("version"))</b></p>
- <form name="address" method="POST" action="address2.do">
+ <form name="address" method="GET" action="address2.do">
<input type="hidden" name="action" value="list">
<table width="300" border="1" cellspacing="" cellpadding="5">
@@ -35,9 +35,24 @@
<td>$msg.get("country")</td>
<td><input type="text" name="country" value="$!address.country"></td>
</tr>
+ <tr>
+ <td>$msg.get("languages")</td>
+ <td>
+ #set ($map = $address.languagesAsMap)
+ <select name="languages" MULTIPLE size="5">
+ <option value="chinese" $map.getProperty("chinese", "")>$msg.get("chinese")</option>
+ <option value="english" $map.getProperty("english", "")>$msg.get("english")</option>
+ <option value="french" $map.getProperty("french", "")>$msg.get("french")</option>
+ <option value="german" $map.getProperty("german", "")>$msg.get("german")</option>
+ <option value="russian" $map.getProperty("russian", "")>$msg.get("russian")</option>
+ <option value="spanish" $map.getProperty("spanish", "")>$msg.get("spanish")</option>
+ </select>
+ <br>$msg.get("multiple")
+ </td>
+ </tr>
</table>
<br>
-
+
<input type="submit" name="Submit" value=" $msg.get("save") " onclick="address.action.value='save'; document.address.submit(); return false;">
<input type="submit" name="Submit2" value="$msg.get("cancel")" onclick="address.action.value='list'; document.address.submit(); return false;">
</form>
1.3 +1 -1 jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-address.jsp
Index: show-address.jsp
===================================================================
RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-address.jsp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- show-address.jsp 9 Jan 2002 11:12:40 -0000 1.2
+++ show-address.jsp 3 Sep 2002 11:14:27 -0000 1.3
@@ -16,7 +16,7 @@
<form name="form1" action="address1.do">
<p><bean:message key="language"/>
- <select name="language" size="1" onchange="form1.submit(); return false;">
+ <select name="locale" size="1" onchange="form1.submit(); return false;">
<option value="" SELECTED></option>
<option value="English">English</option>
<option value="Deutsch">Deutsch</option>
1.4 +62 -53 jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-address.txt
Index: show-address.txt
===================================================================
RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-address.txt,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- show-address.txt 12 Mar 2002 11:36:48 -0000 1.3
+++ show-address.txt 3 Sep 2002 11:14:27 -0000 1.4
@@ -1,57 +1,66 @@
<html>
- <head>
- <title>$msg.get("title")</title>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- </head>
+ <head>
+ <title>$msg.get("title")</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ </head>
- <body>
- <p><b>$msg.get("title") (Velocity $msg.get("version"))</b></p>
-
- <p>$msg.get("intro")</p>
-
- <form name="form1" action="address2.do">
- <p>$msg.get("language")
- <select name="language" size="1" onchange="form1.submit(); return false;">
- <option value="" SELECTED></option>
- <option value="English">English</option>
- <option value="Deutsch">Deutsch</option>
- </select>
- </p></form>
-
- <p>$msg.get("header")</p>
- <table width="300" border="1" cellspacing="" cellpadding="5">
- <tr>
- <td>$msg.get("firstname")</td>
- <td> $!address.firstname </td>
- </tr>
- <tr>
- <td>$msg.get("lastname")</td>
- <td> $!address.lastname </td>
- </tr>
- <tr>
- <td>$msg.get("street")</td>
- <td> $!address.street </td>
- </tr>
- <tr>
- <td>$msg.get("zip")</td>
- <td> $!address.zip </td>
- </tr>
- <tr>
- <td>$msg.get("city")</td>
- <td> $!address.city </td>
- </tr>
- <tr>
- <td>$msg.get("country")</td>
- <td> $!address.country </td>
- </tr>
- </table>
-
- <br>
- <a href="address1.do?action=edit">$msg.get("edit")</a> (JSP)<br><br>
- <a href="address2.do?action=edit">$msg.get("edit")</a> (Velocity)
+ <body>
+ <p><b>$msg.get("title") (Velocity $msg.get("version"))</b></p>
+
+ <p>$msg.get("intro")</p>
+
+ <form name="form1" method="GET" action="address2.do">
+ <p>$msg.get("language")
+ <select name="locale" size="1" onchange="form1.submit(); return false;">
+ <option value="" SELECTED></option>
+ <option value="English">English</option>
+ <option value="Deutsch">Deutsch</option>
+ </select>
+ </p></form>
+
+ <p>$msg.get("header")</p>
+ <table width="300" border="1" cellspacing="" cellpadding="5">
+ <tr>
+ <td>$msg.get("firstname")</td>
+ <td> $!address.firstname </td>
+ </tr>
+ <tr>
+ <td>$msg.get("lastname")</td>
+ <td> $!address.lastname </td>
+ </tr>
+ <tr>
+ <td>$msg.get("street")</td>
+ <td> $!address.street </td>
+ </tr>
+ <tr>
+ <td>$msg.get("zip")</td>
+ <td> $!address.zip </td>
+ </tr>
+ <tr>
+ <td>$msg.get("city")</td>
+ <td> $!address.city </td>
+ </tr>
+ <tr>
+ <td>$msg.get("country")</td>
+ <td> $!address.country </td>
+ </tr>
+ <tr>
+ <td>$msg.get("languages")</td>
+ <td>
+ #foreach ($language in $!address.languages)
+ $msg.get($language)<br>
+ #end
+
+ </td>
+ </tr>
+ </table>
+
+ <br>
+ <a href="address1.do?action=edit">$msg.get("edit")</a> (JSP)<br><br>
+ <a href="address2.do?action=edit">$msg.get("edit")</a> (Velocity)
- <br><br>
- <a href="examples/struts_app1/show-address.txt">Template</a>
-
- </body>
+ <br><br>
+ <a href="examples/struts_app1/show-address.txt">Template</a>
+
+ </body>
</html>
1.4 +62 -53 jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-address.vm
Index: show-address.vm
===================================================================
RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-address.vm,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- show-address.vm 12 Mar 2002 11:36:48 -0000 1.3
+++ show-address.vm 3 Sep 2002 11:14:27 -0000 1.4
@@ -1,57 +1,66 @@
<html>
- <head>
- <title>$msg.get("title")</title>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- </head>
+ <head>
+ <title>$msg.get("title")</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ </head>
- <body>
- <p><b>$msg.get("title") (Velocity $msg.get("version"))</b></p>
-
- <p>$msg.get("intro")</p>
-
- <form name="form1" action="address2.do">
- <p>$msg.get("language")
- <select name="language" size="1" onchange="form1.submit(); return false;">
- <option value="" SELECTED></option>
- <option value="English">English</option>
- <option value="Deutsch">Deutsch</option>
- </select>
- </p></form>
-
- <p>$msg.get("header")</p>
- <table width="300" border="1" cellspacing="" cellpadding="5">
- <tr>
- <td>$msg.get("firstname")</td>
- <td> $!address.firstname </td>
- </tr>
- <tr>
- <td>$msg.get("lastname")</td>
- <td> $!address.lastname </td>
- </tr>
- <tr>
- <td>$msg.get("street")</td>
- <td> $!address.street </td>
- </tr>
- <tr>
- <td>$msg.get("zip")</td>
- <td> $!address.zip </td>
- </tr>
- <tr>
- <td>$msg.get("city")</td>
- <td> $!address.city </td>
- </tr>
- <tr>
- <td>$msg.get("country")</td>
- <td> $!address.country </td>
- </tr>
- </table>
-
- <br>
- <a href="address1.do?action=edit">$msg.get("edit")</a> (JSP)<br><br>
- <a href="address2.do?action=edit">$msg.get("edit")</a> (Velocity)
+ <body>
+ <p><b>$msg.get("title") (Velocity $msg.get("version"))</b></p>
+
+ <p>$msg.get("intro")</p>
+
+ <form name="form1" method="GET" action="address2.do">
+ <p>$msg.get("language")
+ <select name="locale" size="1" onchange="form1.submit(); return false;">
+ <option value="" SELECTED></option>
+ <option value="English">English</option>
+ <option value="Deutsch">Deutsch</option>
+ </select>
+ </p></form>
+
+ <p>$msg.get("header")</p>
+ <table width="300" border="1" cellspacing="" cellpadding="5">
+ <tr>
+ <td>$msg.get("firstname")</td>
+ <td> $!address.firstname </td>
+ </tr>
+ <tr>
+ <td>$msg.get("lastname")</td>
+ <td> $!address.lastname </td>
+ </tr>
+ <tr>
+ <td>$msg.get("street")</td>
+ <td> $!address.street </td>
+ </tr>
+ <tr>
+ <td>$msg.get("zip")</td>
+ <td> $!address.zip </td>
+ </tr>
+ <tr>
+ <td>$msg.get("city")</td>
+ <td> $!address.city </td>
+ </tr>
+ <tr>
+ <td>$msg.get("country")</td>
+ <td> $!address.country </td>
+ </tr>
+ <tr>
+ <td>$msg.get("languages")</td>
+ <td>
+ #foreach ($language in $!address.languages)
+ $msg.get($language)<br>
+ #end
+
+ </td>
+ </tr>
+ </table>
+
+ <br>
+ <a href="address1.do?action=edit">$msg.get("edit")</a> (JSP)<br><br>
+ <a href="address2.do?action=edit">$msg.get("edit")</a> (Velocity)
- <br><br>
- <a href="examples/struts_app1/show-address.txt">Template</a>
-
- </body>
+ <br><br>
+ <a href="examples/struts_app1/show-address.txt">Template</a>
+
+ </body>
</html>
1.3 +1 -1 jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-addressjsp.txt
Index: show-addressjsp.txt
===================================================================
RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-addressjsp.txt,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- show-addressjsp.txt 9 Jan 2002 11:12:40 -0000 1.2
+++ show-addressjsp.txt 3 Sep 2002 11:14:27 -0000 1.3
@@ -16,7 +16,7 @@
<form name="form1" action="address1.do">
<p><bean:message key="language"/>
- <select name="language" size="1" onchange="form1.submit(); return false;">
+ <select name="locale" size="1" onchange="form1.submit(); return false;">
<option value="" SELECTED></option>
<option value="English">English</option>
<option value="Deutsch">Deutsch</option>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>