You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(16) |
Sep
(10) |
Oct
(1) |
Nov
(2) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(148) |
Feb
(80) |
Mar
(41) |
Apr
(85) |
May
(247) |
Jun
(345) |
Jul
(237) |
Aug
(241) |
Sep
(439) |
Oct
(321) |
Nov
(413) |
Dec
(302) |
2004 |
Jan
(143) |
Feb
(147) |
Mar
(200) |
Apr
(107) |
May
(15) |
Jun
(36) |
Jul
(11) |
Aug
(1) |
Sep
(36) |
Oct
|
Nov
(6) |
Dec
|
2005 |
Jan
|
Feb
|
Mar
|
Apr
(115) |
May
(74) |
Jun
(215) |
Jul
(82) |
Aug
(47) |
Sep
(32) |
Oct
(8) |
Nov
(70) |
Dec
(24) |
2006 |
Jan
|
Feb
(1) |
Mar
(4) |
Apr
(2) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <fza...@us...> - 2005-11-29 23:06:04
|
Update of /cvsroot/struts/ajaxchat/WEB-INF/src/org/apache/struts/apps/ajaxchat In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20381/ajaxchat Log Message: Directory /cvsroot/struts/ajaxchat/WEB-INF/src/org/apache/struts/apps/ajaxchat added to the repository |
From: <fza...@us...> - 2005-11-29 23:05:49
|
Update of /cvsroot/struts/ajaxchat/WEB-INF/src/org/apache/struts/apps In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20273/apps Log Message: Directory /cvsroot/struts/ajaxchat/WEB-INF/src/org/apache/struts/apps added to the repository |
From: <fza...@us...> - 2005-11-29 23:05:39
|
Update of /cvsroot/struts/ajaxchat/WEB-INF/src/org/apache/struts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20240/struts Log Message: Directory /cvsroot/struts/ajaxchat/WEB-INF/src/org/apache/struts added to the repository |
From: <fza...@us...> - 2005-11-29 23:05:29
|
Update of /cvsroot/struts/ajaxchat/WEB-INF/src/org/apache In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20182/apache Log Message: Directory /cvsroot/struts/ajaxchat/WEB-INF/src/org/apache added to the repository |
From: <fza...@us...> - 2005-11-29 23:05:08
|
Update of /cvsroot/struts/ajaxchat/WEB-INF/src/org In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20051/org Log Message: Directory /cvsroot/struts/ajaxchat/WEB-INF/src/org added to the repository |
From: <fza...@us...> - 2005-11-29 23:04:42
|
Update of /cvsroot/struts/ajaxchat/WEB-INF/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19871/src Log Message: Directory /cvsroot/struts/ajaxchat/WEB-INF/src added to the repository |
From: <fza...@us...> - 2005-11-29 23:04:42
|
Update of /cvsroot/struts/ajaxchat/WEB-INF/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19871/lib Log Message: Directory /cvsroot/struts/ajaxchat/WEB-INF/lib added to the repository |
From: <fza...@us...> - 2005-11-29 23:04:42
|
Update of /cvsroot/struts/ajaxchat/WEB-INF/classes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19871/classes Log Message: Directory /cvsroot/struts/ajaxchat/WEB-INF/classes added to the repository |
From: <fza...@us...> - 2005-11-29 23:03:57
|
Update of /cvsroot/struts/ajaxchat/inc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19533/inc Log Message: Directory /cvsroot/struts/ajaxchat/inc added to the repository |
From: <fza...@us...> - 2005-11-29 23:03:57
|
Update of /cvsroot/struts/ajaxchat/WEB-INF In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19533/WEB-INF Log Message: Directory /cvsroot/struts/ajaxchat/WEB-INF added to the repository |
From: <fza...@us...> - 2005-11-29 23:03:57
|
Update of /cvsroot/struts/ajaxchat/img In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19533/img Log Message: Directory /cvsroot/struts/ajaxchat/img added to the repository |
From: <fza...@us...> - 2005-11-29 23:03:57
|
Update of /cvsroot/struts/ajaxchat/css In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19533/css Log Message: Directory /cvsroot/struts/ajaxchat/css added to the repository |
From: <jm...@us...> - 2005-11-18 00:34:24
|
Update of /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13531/src/documentation/content/xdocs/strutsdialogs Modified Files: index.xml mailreader-home.xml Log Message: Index: index.xml =================================================================== RCS file: /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs/index.xml,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** index.xml 28 Sep 2005 16:57:44 -0000 1.16 --- index.xml 18 Nov 2005 00:34:15 -0000 1.17 *************** *** 247,250 **** --- 247,253 ---- and benefits of component approach for a Struts application. See the <link href="mailreader-walkingtour.html">Mail Reader Walking Tour</link> for details.</p> + + <p>See <link href="http://www.superinterface.com/mailreader">MailReader live demo</link> to + compare Struts Dialogs implementation with original Struts version.</p> </section> Index: mailreader-home.xml =================================================================== RCS file: /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs/mailreader-home.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** mailreader-home.xml 23 Sep 2005 07:23:42 -0000 1.1 --- mailreader-home.xml 18 Nov 2005 00:34:15 -0000 1.2 *************** *** 202,207 **** <title>Configuration of Home component</title> <p>Follows the configuration of Home component in <code>struts-config.xml</code> file. The example ! below uses new <strong>component</strong>, <strong>event</strong> and <strong>render</strong> elements, ! introduced in Struts Dialogs 1.23:</p> <source> <action-mappings> --- 202,207 ---- <title>Configuration of Home component</title> <p>Follows the configuration of Home component in <code>struts-config.xml</code> file. The example ! below uses new <strong>component</strong>, <strong>transfer</strong> and ! <strong>render</strong> elements, introduced in Struts Dialogs 1.24:</p> <source> <action-mappings> *************** *** 211,218 **** view = "/home.jsp" type = "net.jspcontrols.mailreader.HomeAction"> ! <event name = "logon" path = "/Logon.do?DIALOG-EVENT-INIT"/> ! <event name = "signup" path = "/Registration.do?DIALOG-EVENT-CREATE"/> ! <event name = "accupdate" path = "/Registration.do?DIALOG-EVENT-UPDATE"/> ! <event name = "subscriptions" path = "/Subscriptions.do?DIALOG-EVENT-INIT"/> <render name = "failure" path = "/error.jsp" /> </component> --- 211,218 ---- view = "/home.jsp" type = "net.jspcontrols.mailreader.HomeAction"> ! <transfer name = "logon" path = "/Logon.do?DIALOG-EVENT-INIT"/> ! <transfer name = "signup" path = "/Registration.do?DIALOG-EVENT-CREATE"/> ! <transfer name = "accupdate" path = "/Registration.do?DIALOG-EVENT-UPDATE"/> ! <transfer name = "subscriptions" path = "/Subscriptions.do?DIALOG-EVENT-INIT"/> <render name = "failure" path = "/error.jsp" /> </component> *************** *** 244,248 **** configuration is used, the view should be defined as result of a forward element with "DIALOG-VIEW" name. This is one of the default view mapping names, that is used by <link href="dialogaction.html">DialogAction</link>.</p> ! <p>Similarly, <code><event></code> element is just the same as <code><forward ... redirect = "true"></code>, while <code><render></code> element is the same as <code><forward ... redirect = "false"></code>. Also, <code><component></code> element has different defaults, like turned off validation and session scope for --- 244,248 ---- configuration is used, the view should be defined as result of a forward element with "DIALOG-VIEW" name. This is one of the default view mapping names, that is used by <link href="dialogaction.html">DialogAction</link>.</p> ! <p>Similarly, <code><transfer></code> element is just the same as <code><forward ... redirect = "true"></code>, while <code><render></code> element is the same as <code><forward ... redirect = "false"></code>. Also, <code><component></code> element has different defaults, like turned off validation and session scope for |
Update of /cvsroot/struts/dialogs/war/mailreaderpages In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11146/war/mailreaderpages Removed Files: changes.txt error.jsp home.jsp homeclassic.jsp logoff.jsp logon.jsp registration.jsp subscription.jsp subscriptions.jsp Log Message: --- changes.txt DELETED --- --- error.jsp DELETED --- --- home.jsp DELETED --- --- homeclassic.jsp DELETED --- --- logoff.jsp DELETED --- --- logon.jsp DELETED --- --- registration.jsp DELETED --- --- subscription.jsp DELETED --- --- subscriptions.jsp DELETED --- |
From: <jm...@us...> - 2005-11-15 22:05:02
|
Update of /cvsroot/struts/dialogs/war/mailreader-css In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11146/war/mailreader-css Removed Files: base.css screen.css Log Message: --- base.css DELETED --- --- screen.css DELETED --- |
Update of /cvsroot/struts/dialogs/src/net/jspcontrols/mailreader In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9750/src/net/jspcontrols/mailreader Removed Files: AlternateApplicationResources.properties ApplicationResources.properties ApplicationResources_ru.properties Constants.java ExpiredPasswordException.java HomeAction.java LICENSE.txt LogonAction.java MODEL.txt RegistrationForm.java SubscriptionAction.java SubscriptionForm.java Log Message: --- AlternateApplicationResources.properties DELETED --- --- ApplicationResources.properties DELETED --- --- ApplicationResources_ru.properties DELETED --- --- Constants.java DELETED --- --- ExpiredPasswordException.java DELETED --- --- HomeAction.java DELETED --- --- LICENSE.txt DELETED --- --- LogonAction.java DELETED --- --- MODEL.txt DELETED --- --- RegistrationForm.java DELETED --- --- SubscriptionAction.java DELETED --- --- SubscriptionForm.java DELETED --- |
Update of /cvsroot/struts/dialogs/src/net/jspcontrols/mailreader/memory In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9750/src/net/jspcontrols/mailreader/memory Removed Files: MemoryDatabasePlugIn.java MemorySubscription.java MemoryUser.java MemoryUserDatabase.java UserDatabase.java Log Message: --- MemoryDatabasePlugIn.java DELETED --- --- MemorySubscription.java DELETED --- --- MemoryUser.java DELETED --- --- MemoryUserDatabase.java DELETED --- --- UserDatabase.java DELETED --- |
From: <jm...@us...> - 2005-11-15 22:00:11
|
Update of /cvsroot/struts/dialogs/src/net/jspcontrols/mailreader/business In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9750/src/net/jspcontrols/mailreader/business Removed Files: Subscription.java User.java Log Message: --- Subscription.java DELETED --- --- User.java DELETED --- |
From: <jm...@us...> - 2005-11-10 03:53:48
|
Update of /cvsroot/struts/dialogs/war/shoppingpages In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18060/war/shoppingpages Added Files: cart.jsp error.jsp shoppingitems.jsp Log Message: --- NEW FILE: cart.jsp --- <!-- Struts Dialogs MailReader, 2005. Web resource: Subscriptions. State: Logged In && CRUD_UI_MODE_INACTIVE --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %> <!-- The nice thing about using EL is that expressions can be used within Struts-EL tags. Without EL one would have to use, say, bean:write, which cannot be nested in other tag except as in the tag body. To nest expressions inside tags, one would have to use JSP scriptlets (which are calculated before tags?) --> <%@ taglib uri="http://struts.apache.org/tags-bean-el" prefix="bean-el" %> <%@ taglib uri="http://struts.apache.org/tags-html-el" prefix="html-el" %> <%@ taglib uri="http://struts.apache.org/tags-logic-el" prefix="logic-el" %> <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> <html:xhtml/> <html> <body> <%-- Item ID: <c:out value="${cartForm.itemID}"/><br/> Cart: <c:out value="${cartForm.cart}"/><br/> Cart size: <c:out value="${cartForm.cart.items}"/><br/> Cart item: <c:out value="${cartForm.cart.items['aaa']}"/><br/> Item article No: <c:out value="${cartForm.cart.items['aaa'].articleNo}"/><br/> Item name: <c:out value="${cartForm.cart.items['aaa'].name}"/><br/> Item price: <c:out value="${cartForm.cart.items['aaa'].price}"/><br/> Item quantity: <c:out value="${cartForm.cart.items['aaa'].quantity}"/><br/> --%> <!-- Subscriptions for user: John Q. User --> <h3>Shopping cart</h3> <%-- Object: <c:out value="${cartForm.map.lines[0]}"/><br/><br/> --%> <html:form action="/Cart.do"> <TABLE WIDTH="80%" BORDER="1"> <TR> <TH align="left">Art.No.</TH> <TH align="left">Name</TH> <TH align="left">Price</TH> <TH align="left">Quantity</TH> <TH align="left">Operations</TH> </TR> <c:forEach var="lines" items="${cartForm.map.lines}" varStatus="status"> <TR> <TD><c:out value="${lines.articleNo}"/></TD> <TD><c:out value="${lines.name}"/></TD> <TD><c:out value="${lines.price}"/></TD> <TD><input type="text" name="lines[<c:out value="${status.index}"/>].quantity" value="<c:out value="${lines.quantity}"/>" size="3"></TD> <TD><html-el:link href="Cart.do?DIALOG-EVENT-DELETE&itemID=${status.index}"> Remove Item </html-el:link></TD> </TR> </c:forEach> </table> <br/> <html:submit property="DIALOG-EVENT-CHANGE">Update quantity</html:submit> </html:form> <%-- <html:form action="/Cart.do"> <input type="text" name="itemID" value="<c:out value="${cartForm.itemID}"/>"> <br/> <html:submit property="DIALOG-EVENT-CHANGE">Update1</html:submit> </html:form> <html:form action="/Cart.do"> <input type="text" name="cart.cartVersion" value="<c:out value="${cartForm.cart.cartVersion}"/>"> <br/> <html:submit property="DIALOG-EVENT-CHANGE">Update2</html:submit> </html:form> <html:form action="/Cart.do"> <input type="text" name="cart.map['aaa'].name" value="<c:out value="${cartForm.cart.items['aaa'].name}"/>"> <br/> <html:submit property="DIALOG-EVENT-CHANGE">Update4</html:submit> </html:form> <html:form action="/Cart.do"> <input type="text" name="cart.items" value="<c:out value="${cartForm.cart.items['aaa'].name}"/>"> <br/> <html:submit property="DIALOG-EVENT-CHANGE">Update3</html:submit> </html:form> <html:form action="/Cart.do"> <input type="text" name="cart.items.map['aaa'].name" value="<c:out value="${cartForm.cart.items['aaa'].name}"/>"> <br/> <html:submit property="DIALOG-EVENT-CHANGE">Update3</html:submit> </html:form> <html:form action="/Cart.do"> <c:forEach var="item" items="${cartForm.cart.items}"> Object: <c:out value="${item}"/><br/> Object Key: <c:out value="${item.key}"/><br/> Object Value: <c:out value="${item.value}"/><br/> Object Name: <c:out value="${item.value.name}"/><br/> <input type="text" name="cartForm.cart.items["<c:out value="${item.value.articleNo}"/>"].value.quantity" value="<c:out value="${item.value.quantity}"/>"> <br/> </c:forEach> <html:submit property="DIALOG-EVENT-CHANGE">Update quantity</html:submit> </html:form> <TABLE WIDTH="80%" BORDER="1"> <TR><TH align="left">Article No.</TH></TR> <c:forEach var="item" items="${cartForm.cart.items}" > <TR> <TD><html:text indexed="true" name="item" property="value.articleNo"/></TD> </TR> </c:forEach> </table> --%> <%-- <logic-el:iterate id="myItem" collection="${cartForm.cart.items}" type="net.jspcontrols.shoppingcart.CartItem"> Object: <c:out value="${myItem}"/> </logic-el:iterate> --%> <%-- <table width="100%"> <thead> <tr> <th>Art.No.</th> <th>Name</th> <th>Price</th> <th>quantity</th> <th>Operation</th> </tr> </thead> <logic-el:iterate id="myItem" collection="${cartForm.cart.items}" type="net.jspcontrols.shoppingcart.CartItem"> <tr> <!-- Subscription data --> <td><c:out value="${item.articleNo}"/></td> <td><c:out value="${item.name}"/></td> <td><c:out value="${item.price}"/></td> <td><c:out value="${item.quantity}"/></td> <!-- Operations on each subscription: updade and delete --> <td> <html-el:link href="Cart.do?DIALOG-EVENT-DELETE&itemID=${item.articleNo}"> Delete </html-el:link> </td> </tr> </logic-el:iterate> </table> --%> </body> </html:html> --- NEW FILE: error.jsp --- <%-- Errors.jsp - Display unexpected errors, such as a JSP exception or missing resources --%> <%-- Copyright 2000-2004 Apache Software Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="org.apache.struts.Globals" %> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %> <html:html> <head> <title>Unexpected Error</title> <html:base/> </head> <h3>An unexpected error has occured</h3> </body> </html:html> --- NEW FILE: shoppingitems.jsp --- <!-- Struts Dialogs MailReader, 2005. Web resource: Subscriptions. State: Logged In && CRUD_UI_MODE_INACTIVE --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %> <!-- The nice thing about using EL is that expressions can be used within Struts-EL tags. Without EL one would have to use, say, bean:write, which cannot be nested in other tag except as in the tag body. To nest expressions inside tags, one would have to use JSP scriptlets (which are calculated before tags?) --> <%@ taglib uri="http://struts.apache.org/tags-bean-el" prefix="bean-el" %> <%@ taglib uri="http://struts.apache.org/tags-html-el" prefix="html-el" %> <%@ taglib uri="http://struts.apache.org/tags-logic-el" prefix="logic-el" %> <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> <html:xhtml/> <html> <head> <!-- Direct access to /mailreaderpages/* is prohibited in web.xml, use separate directory for CSS --> <link rel="stylesheet" type="text/css" href="mailreader-css/base.css" /> <title><bean:message key="subscriptions.title"/></title> </head> <body> <!-- Subscriptions for user: John Q. User --> <h3> <bean:message key="subscriptions.headingfor"/> <c:out value="${user.fullName}"/> </h3> <!-- Standard Struts error handling --> <logic:messagesPresent> <br/> <html:errors/> </logic:messagesPresent> <table width="100%"> <thead> <tr> <th>Art.No.</th> <th>Name</th> </tr> </thead> <!-- Show subscription list --> <logic-el:iterate collection="${shoppingForm.items}" id="item" type="net.jspcontrols.basket.business.ShoppingItem"> <tr> <!-- Subscription data --> <td><c:out value="${item.articleNo}"/></td> <td><c:out value="${item.name}"/></td> <!-- Operations on each subscription: updade and delete --> <td> <html-el:link href="ShoppingBasket.do?DIALOG-EVENT-ADDITEM&host=${item.host}"> Add to cart </html-el:link> </td> </tr> </logic-el:iterate> </table> </body> </html:html> |
From: <jm...@us...> - 2005-11-10 03:53:47
|
Update of /cvsroot/struts/dialogs/src/net/jspcontrols/shoppingcart In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18060/src/net/jspcontrols/shoppingcart Added Files: CartAction.java CartItem.java ShoppingCart.java ShoppingItem.java Log Message: --- NEW FILE: CartAction.java --- package net.jspcontrols.shoppingcart; import net.jspcontrols.dialogs.actions.DialogAction; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionForm; import org.apache.struts.action.DynaActionForm; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; /** * Created by IntelliJ IDEA. * User: mjouravlev * Date: Nov 9, 2005 * Time: 10:10:29 AM * To change this template use Options | File Templates. */ public class CartAction extends DialogAction { private void returnToSender(HttpServletRequest request, HttpServletResponse response) throws IOException { String originatingURL = request.getRequestURL().toString(); System.out.println("CartAction.onInit, redirecting to: " + originatingURL); response.sendRedirect(originatingURL); } public ActionForward onInit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // Redirect to original location; might be the cart itself. returnToSender(request, response); // Report to Struts that request was processed. return null; } public ActionForward onChange(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // Redirect to original location; might be the cart itself. returnToSender(request, response); // Report to Struts that request was processed. return null; } public ActionForward onDelete(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { DynaActionForm poForm = (DynaActionForm) form; int itemID = ((Integer) poForm.get("itemID")).intValue(); CartItem[] lines = (CartItem[]) poForm.get("lines"); // Shrink array on deletion if (lines != null && itemID < lines.length) { CartItem[] newLines = new CartItem[lines.length-1]; if (newLines.length > 0) { for (int i=0; i<itemID; i++) { newLines[i] = lines[i]; } for (int k=itemID; k<newLines.length; k++) { newLines[k] = lines[k+1]; } } poForm.set("lines", newLines); } // Redirect to original location; might be the cart itself. returnToSender(request, response); // Report to Struts that request was processed. return null; } /** * Returns an <code>ActionForward</code> instance describing the View * for current dialog state, usually a forward to a JSP page. * <p> * If you want to use the default implementation, define the View * under "DIALOG-VIEW" name in <forward> element of your action * mapping. * <p> * To use different mapping name, define the view in <forward> * element of your action mapping, and override this method to return * ActionForward object for your mapping name. * * @param mapping The ActionMapping used to select this instance * @param form The optional ActionForm bean for this request (if any) * @param request The HTTP request we are processing * @param response The HTTP response we are creating * * @exception Exception if an exception occurs * @return ActionForward instance describing the View for dialog state */ public ActionForward getDialogView(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { DynaActionForm poForm = (DynaActionForm) form; CartItem[] lines = (CartItem[]) poForm.get("lines"); // Initialize shopping cart with free gifts from our store if (lines == null || lines.length == 0) { lines = new CartItem[] { new CartItem(new ShoppingItem("BFG-666", "Vodoo Doll", 2000), 1), new CartItem(new ShoppingItem("aaa", "some aaa", 100), 2), new CartItem(new ShoppingItem("bbb", "some bbb", 350), 3) }; poForm.set("lines", lines); } return super.getDialogView(mapping, form, request, response); } } --- NEW FILE: CartItem.java --- package net.jspcontrols.shoppingcart; /** * Created by IntelliJ IDEA. * User: mjouravlev * Date: Nov 9, 2005 * Time: 10:47:58 AM * To change this template use Options | File Templates. */ public class CartItem extends ShoppingItem { int quantity; public int getQuantity() {return quantity;} public void setQuantity(int quantity) {this.quantity = quantity;} public CartItem(ShoppingItem item, int quantity) { super(item.getArticleNo(), item.getName(), item.getPrice()); this.quantity = quantity; } } --- NEW FILE: ShoppingCart.java --- package net.jspcontrols.shoppingcart; import java.util.Map; import java.util.HashMap; /** * */ public class ShoppingCart { Map items = new HashMap(); public ShoppingCart() { CartItem cartItem; cartItem = new CartItem(new ShoppingItem("aaa", "some aaa", 100), 1); items.put(cartItem.getArticleNo(), cartItem); cartItem = new CartItem(new ShoppingItem("bbb", "some bbb", 3500), 2); items.put(cartItem.getArticleNo(), cartItem); } /** * Adds item to the basket * @param shoppingItem shopping item */ public void addItem(ShoppingItem shoppingItem) { CartItem cartItem = new CartItem(shoppingItem, 1); items.put(cartItem.getArticleNo(), cartItem); } /** * Adds item to the basket * @param shoppingItem shopping item */ public void addItems(ShoppingItem shoppingItem, int quantity) { CartItem item = (CartItem) items.get(shoppingItem.getName()); if (item != null) { item.setQuantity(item.getQuantity()+quantity); } else { CartItem cartItem = new CartItem(shoppingItem, quantity); items.put(cartItem.getArticleNo(), cartItem); } } /** * Removes item from the basket * @param item shopping item * @return true if item was found and removed */ public boolean removeItem(ShoppingItem item) { return items.remove(item.getName()) != null; } /** * Cleans basket. Does not recreates basket because instance might be used * for other purposes like synchronization. */ public void clear() { items.clear(); } public Map getItems() {return items;} public void setItems(Map items) {this.items = items;} String cartVersion = "ver. 1.0"; public String getCartVersion() {return cartVersion;} public void setCartVersion(String cartVersion) {this.cartVersion = cartVersion;} } --- NEW FILE: ShoppingItem.java --- package net.jspcontrols.shoppingcart; /** * Created by IntelliJ IDEA. * User: mjouravlev * Date: Nov 9, 2005 * Time: 9:05:50 AM * To change this template use Options | File Templates. */ public class ShoppingItem { String articleNo; public String getArticleNo() {return articleNo;} public void setArticleNo(String articleNo) {this.articleNo = articleNo;} String name; public String getName() {return name;} public void setName(String name) { System.out.println("ShoppingItem: setting name to: " + name); this.name = name; } long price; public long getPrice() {return price;} public ShoppingItem(String articleNo, String name, long price) { this.articleNo = articleNo; this.name = name; this.price = price; } } |
From: <jm...@us...> - 2005-11-10 03:52:06
|
Update of /cvsroot/struts/dialogs/war/WEB-INF In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17817/war/WEB-INF Modified Files: database.xml struts-config.xml Log Message: Index: database.xml =================================================================== RCS file: /cvsroot/struts/dialogs/war/WEB-INF/database.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** database.xml 9 Nov 2005 03:20:42 -0000 1.2 --- database.xml 10 Nov 2005 03:51:52 -0000 1.3 *************** *** 3,33 **** <user username="www" fromAddress="fr...@ma..." fullName="qwerty" password="www" replyToAddress="to...@ma..."> </user> - <user username="uuu" fromAddress="fr...@ma..." fullName="qwerty" password="uuu" replyToAddress="to...@ma..."> - </user> <user username="ttt" fromAddress="fr...@ma..." fullName="qwerty" password="ttt" replyToAddress="to...@ma..."> </user> <user username="user" fromAddress="Joh...@so..." fullName="John Q. User2" password="pass" replyToAddress="to...@ma..."> <subscription host="mail.com" autoConnect="false" password="john" type="imap" username="john"> </subscription> ! <subscription host="yahoo.com" autoConnect="false" password="JohnDoe" type="pop3" username="JohnDoe"> </subscription> <subscription host="mail.ru" autoConnect="true" password="JohnQ" type="pop3" username="JohnQ"> </subscription> ! <subscription host="mail5.com" autoConnect="false" password="ffff" type="pop3" username="ffff"> </subscription> <subscription host="mail4.com" autoConnect="true" password="ssss" type="imap" username="ssss"> </subscription> </user> - <user username="wwwww" fromAddress="fr...@ma..." fullName="Quark Express" password="wwwww" replyToAddress=""> - </user> <user username="ooo" fromAddress="Joh...@so..." fullName="UUU John Q. User" password="ooo" replyToAddress="to...@ma..."> </user> <user username="scott" fromAddress="fr...@ma..." fullName="qwerty" password="tiger" replyToAddress="to...@ma..."> </user> ! <user username="sysdba" fromAddress="fr...@ma..." fullName="qwerty" password="aaa" replyToAddress="to...@ma..."> </user> <user username="eee" fromAddress="fr...@ma..." fullName="qwerty" password="eee" replyToAddress="to...@ma..."> </user> ! <user username="cccc" fromAddress="fr...@ma..." fullName="UUU John Q. User" password="cccc" replyToAddress=""> </user> <user username="aaaaa" fromAddress="fr...@ma..." fullName="qwerty" password="bbbbb" replyToAddress="to...@ma..."> --- 3,33 ---- <user username="www" fromAddress="fr...@ma..." fullName="qwerty" password="www" replyToAddress="to...@ma..."> </user> <user username="ttt" fromAddress="fr...@ma..." fullName="qwerty" password="ttt" replyToAddress="to...@ma..."> </user> + <user username="uuu" fromAddress="fr...@ma..." fullName="qwerty" password="uuu" replyToAddress="to...@ma..."> + </user> <user username="user" fromAddress="Joh...@so..." fullName="John Q. User2" password="pass" replyToAddress="to...@ma..."> <subscription host="mail.com" autoConnect="false" password="john" type="imap" username="john"> </subscription> ! <subscription host="mail5.com" autoConnect="false" password="ffff" type="pop3" username="ffff"> </subscription> <subscription host="mail.ru" autoConnect="true" password="JohnQ" type="pop3" username="JohnQ"> </subscription> ! <subscription host="yahoo.com" autoConnect="false" password="JohnDoe" type="pop3" username="JohnDoe"> </subscription> <subscription host="mail4.com" autoConnect="true" password="ssss" type="imap" username="ssss"> </subscription> </user> <user username="ooo" fromAddress="Joh...@so..." fullName="UUU John Q. User" password="ooo" replyToAddress="to...@ma..."> </user> + <user username="wwwww" fromAddress="fr...@ma..." fullName="Quark Express" password="wwwww" replyToAddress=""> + </user> <user username="scott" fromAddress="fr...@ma..." fullName="qwerty" password="tiger" replyToAddress="to...@ma..."> </user> ! <user username="cccc" fromAddress="fr...@ma..." fullName="UUU John Q. User" password="cccc" replyToAddress=""> </user> <user username="eee" fromAddress="fr...@ma..." fullName="qwerty" password="eee" replyToAddress="to...@ma..."> </user> ! <user username="sysdba" fromAddress="fr...@ma..." fullName="qwerty" password="aaa" replyToAddress="to...@ma..."> </user> <user username="aaaaa" fromAddress="fr...@ma..." fullName="qwerty" password="bbbbb" replyToAddress="to...@ma..."> Index: struts-config.xml =================================================================== RCS file: /cvsroot/struts/dialogs/war/WEB-INF/struts-config.xml,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** struts-config.xml 9 Nov 2005 03:20:42 -0000 1.12 --- struts-config.xml 10 Nov 2005 03:51:52 -0000 1.13 *************** *** 23,28 **** --- 23,35 ---- <!-- Subscription bean --> <form-bean name="SubscriptionForm" type="net.jspcontrols.mailreader.SubscriptionForm"/> + + <form-bean name="cartForm" type="org.apache.struts.action.DynaActionForm"> + <form-property name="lines" type="net.jspcontrols.shoppingcart.CartItem[]"/> + <form-property name="itemID" type="java.lang.Integer"/> + </form-bean> + </form-beans> + <!-- <global-exceptions> <exception type = "java.lang.IllegalArgumentException" *************** *** 33,36 **** --- 40,44 ---- path = "/mailreaderpages/error.jsp"/> </global-exceptions> + --> <global-forwards> *************** *** 102,109 **** <event name = "DIALOG-EVENT-BACKHOME" handler = "onBackHome"/> ! <event name = "DIALOG-EVENT-CREATE" ! handler = "onCreate" ! outcome = "ON-CREATE-SUCCESS, ON-CREATE-FAILURE"/> ! <event name = "DIALOG-EVENT-UPDATE" handler = "onEdit"/> <event name = "DIALOG-EVENT-DELETE" handler = "onDelete"/> --- 110,114 ---- <event name = "DIALOG-EVENT-BACKHOME" handler = "onBackHome"/> ! <event name = "DIALOG-EVENT-CREATE" handler = "onCreate"/> <event name = "DIALOG-EVENT-UPDATE" handler = "onEdit"/> <event name = "DIALOG-EVENT-DELETE" handler = "onDelete"/> *************** *** 123,126 **** --- 128,148 ---- <render name="CRUD-UI-MODE-INACTIVE" path="/mailreaderpages/subscriptions.jsp"/> </component> + + <!-- Shopping cart --> + <component path = "/Cart" + view = "/shoppingpages/cart.jsp" + type = "net.jspcontrols.shoppingcart.CartAction" + form = "cartForm"> + + <!-- Initialize shopping cart --> + <event name = "DIALOG-EVENT-INIT" handler = "onInit"/> + <event name = "DIALOG-EVENT-CHANGE" handler = "onChange"/> + <event name = "DIALOG-EVENT-DELETE" handler = "onDelete"/> + + <!-- Update quantity from cart's page and reload page --> + <transfer name = "updateCart" path = "/Cart.do"/> + </component> + + </action-mappings> |
From: <jm...@us...> - 2005-11-10 03:52:06
|
Update of /cvsroot/struts/dialogs/war/mailreaderpages In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17817/war/mailreaderpages Modified Files: home.jsp Log Message: Index: home.jsp =================================================================== RCS file: /cvsroot/struts/dialogs/war/mailreaderpages/home.jsp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** home.jsp 9 Nov 2005 03:20:42 -0000 1.2 --- home.jsp 10 Nov 2005 03:51:52 -0000 1.3 *************** *** 4,7 **** --- 4,9 ---- <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %> + <%@ taglib uri="http://struts.apache.org/tags-html-el" prefix="html-el" %> + <html> <head> *************** *** 15,18 **** --- 17,40 ---- Context Path: [<%= request.getContextPath() %>] + <html-el:link + href="ShoppingBasket.do?DIALOG-EVENT-ADDITEM&host=${item.host}"> + Add to cart + </html-el:link> + + <html-el:link + href="contextPath=${pageContext.request.contextPath}&servletPath=${pageContext.request.servletPath}"> + Add to cart + </html-el:link> + + <html-el:link + href="pathInfo=${pageContext.request.pathInfo}&query=${pageContext.request.queryString}"> + Add to cart + </html-el:link> + + <html-el:link + href="requestURL=${pageContext.request.requestURL}&requestURI=${pageContext.request.requestURI}"> + Add to cart + </html-el:link> + <h3><bean:message key="index.heading"/></h3> |
From: <jm...@us...> - 2005-11-10 03:51:42
|
Update of /cvsroot/struts/dialogs/war/shoppingpages In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17776/shoppingpages Log Message: Directory /cvsroot/struts/dialogs/war/shoppingpages added to the repository |
From: <jm...@us...> - 2005-11-10 03:51:29
|
Update of /cvsroot/struts/dialogs/src/net/jspcontrols/shoppingcart In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17735/shoppingcart Log Message: Directory /cvsroot/struts/dialogs/src/net/jspcontrols/shoppingcart added to the repository |
From: <jm...@us...> - 2005-11-09 03:20:50
|
Update of /cvsroot/struts/dialogs/war/WEB-INF/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29970/war/WEB-INF/lib Modified Files: struts-config_1_2_dialog.dtd Log Message: Index: struts-config_1_2_dialog.dtd =================================================================== RCS file: /cvsroot/struts/dialogs/war/WEB-INF/lib/struts-config_1_2_dialog.dtd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** struts-config_1_2_dialog.dtd 23 Sep 2005 06:37:56 -0000 1.1 --- struts-config_1_2_dialog.dtd 9 Nov 2005 03:20:42 -0000 1.2 *************** *** 333,348 **** ! <!-- The "event" element is a "forward" element (see above) tuned for dialogs. ! By default, ActionForward defined with "event" element, has "redirect" attribute ! set to "true", because "event" is used to reload/navigate after first phase ! of two-phase request processing. ! Differences between "event" and "forward" are defined below. ! name The unique identifier for this forward. Referenced by the Action object at runtime to select - by its logical name - the resource that should complete the request/response. Contrary to regular "forward" element, this attribute ! can contain several mapping names, for example: name="ON-CREATE-SUCCESS, ON-DUPLICATE-SUCCESS". The above notation makes dialog configuration more compact, --- 333,363 ---- ! <!-- The "event" element allows to define method handlers for submit events. ! "name" is a submit element name, that is, request key. "handler" is a name ! of a method that is defined in an action class and handles the event. ! The signature of handler method must be the same as of execute() method. ! Class serving events is based on ForwardConfig. ! --> ! <!ELEMENT event (icon?, display-name?, description?, set-property*)> ! <!ATTLIST event id ID #IMPLIED> ! <!ATTLIST event className %ClassName; #IMPLIED> ! <!ATTLIST event name CDATA #REQUIRED> ! <!ATTLIST event handler CDATA #REQUIRED> ! ! <!-- The "transfer" element is a "forward" element (see above) tuned for dialogs. ! By default, ActionForward defined with "transfer" element has "redirect" ! attribute set to "true", because "transfer" is used to reload/navigate ! after first phase of two-phase request processing or to hand control ! to another action. ! ! Differences between "transfer" and "forward" are defined below. ! ! name The unique identifier for this transfer. Referenced by the Action object at runtime to select - by its logical name - the resource that should complete the request/response. Contrary to regular "forward" element, this attribute ! can contain several mapping names, for example: name="ON-CREATE-SUCCESS, ON-DUPLICATE-SUCCESS". The above notation makes dialog configuration more compact, *************** *** 350,366 **** redirect Set to "false" to perform in-server forward using ! RequestDispatcher.forward. If set to "true", a redirect ! instruction will be issued to the user-agent so that a new GET request is issued for this forward's resource. [true] --> ! <!ELEMENT event (icon?, display-name?, description?, set-property*)> ! <!ATTLIST event id ID #IMPLIED> ! <!ATTLIST event className %ClassName; #IMPLIED> ! <!ATTLIST event contextRelative %Boolean; #IMPLIED> ! <!ATTLIST event module %RequestPath; #IMPLIED> ! <!ATTLIST event name CDATA #REQUIRED> ! <!ATTLIST event path %RequestPath; #REQUIRED> ! <!ATTLIST event redirect %Boolean; #IMPLIED> --- 365,381 ---- redirect Set to "false" to perform in-server forward using ! RequestDispatcher.forward. If set to "true", a redirect ! instruction will be issued to the user-agent so that a new GET request is issued for this forward's resource. [true] --> ! <!ELEMENT transfer (icon?, display-name?, description?, set-property*)> ! <!ATTLIST transfer id ID #IMPLIED> ! <!ATTLIST transfer className %ClassName; #IMPLIED> ! <!ATTLIST transfer contextRelative %Boolean; #IMPLIED> ! <!ATTLIST transfer module %RequestPath; #IMPLIED> ! <!ATTLIST transfer name CDATA #REQUIRED> ! <!ATTLIST transfer path %RequestPath; #REQUIRED> ! <!ATTLIST transfer redirect %Boolean; #IMPLIED> *************** *** 548,552 **** [false] --> ! <!ELEMENT component (icon?, display-name?, description?, set-property*, exception*, event*, render*, forward*)> <!ATTLIST component id ID #IMPLIED> <!ATTLIST component attribute %BeanName; #IMPLIED> --- 563,567 ---- [false] --> ! <!ELEMENT component (icon?, display-name?, description?, set-property*, exception*, event*, transfer*, render*, forward*)> <!ATTLIST component id ID #IMPLIED> <!ATTLIST component attribute %BeanName; #IMPLIED> |