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: <jm...@us...> - 2005-08-04 07:40:09
|
Update of /cvsroot/struts/dialogs/war/sample-logincontrol/resin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19672/war/sample-logincontrol/resin Added Files: embedded-child-login.jsp embedded-child-logout.jsp masterpage.jsp Log Message: --- NEW FILE: embedded-child-login.jsp --- <!-- Struts Dialogs, Login Control example Author: Michael Jouravlev, 2004-2005 This is "Login Page" view for login child control --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <table width=100% border=0 celpadding=0 cellspacing=2> <html:form action="/embeddedchild-resin.do"> <!-- Standard Struts error handling --> <logic:messagesPresent> <tr> <td colspan="2" align="left" bgcolor="#FF9966"> <html:messages id="error"> <bean:write name="error"/> </html:messages> </td> </tr> </logic:messagesPresent> <tr> <td align="left">User name:</td> <td align="left"> <html:text name="loginform" property="name" size="15" tabindex="1"/> </td> </tr> <tr> <td align="left">User pasword:</td> <td align="left"> <html:text name="loginform" property="password" size="15" tabindex="2"/> </td> </tr> <tr> <td align="left">Use "guest"/"guest"</td> <td colspan="2" align="left"> <html:image value="Log In" property="DIALOG-EVENT-LOGIN" src="../embedded-images/index_19_login.gif"/> </td> </tr> </html:form> </table> --- NEW FILE: embedded-child-logout.jsp --- <!-- Struts Dialogs, Login Control example Author: Michael Jouravlev, 2004-2005 This is "Current User Info" view for login child control --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <table width=100% border=0 celpadding=0 cellspacing=2> <html:form action="/embeddedchild-resin.do"> <!-- Standard Struts error handling --> <logic:messagesPresent> <tr> <td align="left" bgcolor="#FF9966"> <html:messages id="error"> <bean:write name="error"/> </html:messages> </td> </tr> </logic:messagesPresent> <tr> <td align="left" width="50%">Welcome, <%= session.getAttribute("login.username") %></td> </tr> <tr> <td align="left"> </td> </tr> <tr> <td colspan="2" align="left"> <html:image value="Log In" property="DIALOG-EVENT-LOGOUT" src="../embedded-images/index_19_logout.gif"/> </td> </tr> </html:form> </table> --- NEW FILE: masterpage.jsp --- <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <html:html locale="true"> <HEAD> <html:base/> <TITLE>Your Company Name</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <!-- ImageReady Preload Script (index.psd) --> <SCRIPT TYPE="text/javascript"> <!-- function newImage(arg) { if (document.images) { rslt = new Image(); rslt.src = arg; return rslt; } } function changeImages() { if (document.images && (preloadFlag == true)) { for (var i=0; i<changeImages.arguments.length; i+=2) { document[changeImages.arguments[i]].src = changeImages.arguments[i+1]; } } } var preloadFlag = false; function preloadImages() { if (document.images) { Home_over = newImage("../embedded-images/Home-over.gif"); Company_over = newImage("../embedded-images/Company-over.gif"); Products_over = newImage("../embedded-images/Products-over.gif"); Careers_over = newImage("../embedded-images/Careers-over.gif"); Info_over = newImage("../embedded-images/Info-over.gif"); Contact_Us_over = newImage("../embedded-images/Contact-Us-over.gif"); preloadFlag = true; } } // --> </SCRIPT> <!-- End Preload Script --> </HEAD> <link href="../embedded-css/styles.css" rel="stylesheet" type="text/css"> <BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 ONLOAD="preloadImages();"><center> <!-- ImageReady Slices (index.psd) --> <TABLE WIDTH=775 BORDER=0 CELLPADDING=0 CELLSPACING=0> <!--DWLayoutTable--> <TR> <TD COLSPAN=16> <IMG SRC="../embedded-images/head1.gif" WIDTH=775 HEIGHT=41 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=41 ALT=""></TD> </TR> <TR> <TD COLSPAN=2> <A HREF="#" ONMOUSEOVER="window.status='Home'; changeImages('Home', '../embedded-images/Home-over.gif'); return true;" ONMOUSEOUT="window.status=''; changeImages('Home', '../embedded-images/Home.gif'); return true;"> <IMG NAME="Home" SRC="../embedded-images/Home.gif" WIDTH=68 HEIGHT=37 BORDER=0 ALT="Home"></A></TD> <TD width="66"> <A HREF="#" ONMOUSEOVER="window.status='Company'; changeImages('Company', '../embedded-images/Company-over.gif'); return true;" ONMOUSEOUT="window.status=''; changeImages('Company', '../embedded-images/Company.gif'); return true;"> <IMG NAME="Company" SRC="../embedded-images/Company.gif" WIDTH=66 HEIGHT=37 BORDER=0 ALT="Company"></A></TD> <TD COLSPAN=2> <A HREF="#" ONMOUSEOVER="window.status='Products'; changeImages('Products', '../embedded-images/Products-over.gif'); return true;" ONMOUSEOUT="window.status=''; changeImages('Products', '../embedded-images/Products.gif'); return true;"> <IMG NAME="Products" SRC="../embedded-images/Products.gif" WIDTH=71 HEIGHT=37 BORDER=0 ALT="Products"></A></TD> <TD COLSPAN=4> <A HREF="#" ONMOUSEOVER="window.status='Careers'; changeImages('Careers', '../embedded-images/Careers-over.gif'); return true;" ONMOUSEOUT="window.status=''; changeImages('Careers', '../embedded-images/Careers.gif'); return true;"> <IMG NAME="Careers" SRC="../embedded-images/Careers.gif" WIDTH=66 HEIGHT=37 BORDER=0 ALT="Careers"></A></TD> <TD> <A HREF="#" ONMOUSEOVER="window.status='Info'; changeImages('Info', '../embedded-images/Info-over.gif'); return true;" ONMOUSEOUT="window.status=''; changeImages('Info', '../embedded-images/Info.gif'); return true;"> <IMG NAME="Info" SRC="../embedded-images/Info.gif" WIDTH=41 HEIGHT=37 BORDER=0 ALT="Info"></A></TD> <% if (session.getAttribute("login.username") != null) { %> <TD> <A HREF="#" ONMOUSEOVER="window.status='Contact Us'; changeImages('Contact_Us', '../embedded-images/Contact-Us-over.gif'); return true;" ONMOUSEOUT="window.status=''; changeImages('Contact_Us', '../embedded-images/Contact-Us.gif'); return true;"> <IMG NAME="Contact_Us" SRC="../embedded-images/Contact-Us.gif" WIDTH=84 HEIGHT=37 BORDER=0 ALT="Contact Us"></A></TD> <% } else {%> <TD><IMG SRC="../embedded-images/Contact-Us-blank.gif" WIDTH=84 HEIGHT=37 BORDER=0></TD> <% } %> <TD COLSPAN=5> <IMG SRC="../embedded-images/head2.gif" WIDTH=379 HEIGHT=37 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=37 ALT=""></TD> </TR> <TR> <TD COLSPAN=16> <IMG SRC="../embedded-images/head3.gif" WIDTH=775 HEIGHT=161 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=161 ALT=""></TD> </TR> <TR> <TD COLSPAN=7> <% if (session.getAttribute("login.username") != null) { %> <IMG SRC="../embedded-images/user_info.gif" WIDTH=234 HEIGHT=27 ALT=""></TD> <% } else {%> <IMG SRC="../embedded-images/sign_in.gif" WIDTH=234 HEIGHT=27 ALT=""></TD> <% } %> <TD ROWSPAN=14> <IMG SRC="../embedded-images/si2.gif" WIDTH=17 HEIGHT=626 ALT=""></TD> <TD ROWSPAN=14> <IMG SRC="../embedded-images/au1.gif" WIDTH=20 HEIGHT=626 ALT=""></TD> <TD COLSPAN=3 ROWSPAN=2> <IMG SRC="../embedded-images/about_us.gif" WIDTH=229 HEIGHT=39 ALT=""></TD> <TD ROWSPAN=14> <IMG SRC="../embedded-images/au2.gif" WIDTH=22 HEIGHT=626 ALT=""></TD> <TD COLSPAN=2 ROWSPAN=3> <IMG SRC="../embedded-images/prod1.gif" WIDTH=245 HEIGHT=89 ALT=""></TD> <TD ROWSPAN=14> <IMG SRC="../embedded-images/so1.gif" WIDTH=8 HEIGHT=626 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=27 ALT=""></TD> </TR> <TR> <TD ROWSPAN=3> <IMG SRC="../embedded-images/si1.gif" WIDTH=5 HEIGHT=104 ALT=""> </TD> <TD COLSPAN=6 ROWSPAN=3 align="center" valign="middle"> <jsp:include page="/embeddedchild-resin.do"/> </TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=12 ALT=""> </TD> </TR> <TR> <TD COLSPAN=3 ROWSPAN=9 align="left" valign="top"><div align="justify">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat. At vero eos et accusam et justo duo dolores et ea. At vero eos et accusam et justo duo dolores et ea.<br> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat. At vero eos et accusam et justo duo dolores et ea. At vero eos et accusam et justo duo dolores et ea.<br> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat. At vero eos et accusam et justo duo dolores et ea. At vero eos et accusam et justo duo dolores et ea.<br> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat. At vero eos et accusam et justo duo dolores et ea. At vero eos et accusam et justo duo dolores et ea. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat. At vero eos et accusam.</div></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=50 ALT=""></TD> </TR> <TR> <% if (session.getAttribute("login.username") != null) { %> <TD ROWSPAN=3> <IMG SRC="../embedded-images/prod1_buy_member.gif" ALT="" WIDTH=139 HEIGHT=126 border="0" usemap="#Map5"></TD> <TD ROWSPAN=3 align="left" valign="top">This powerful machine with 450W power supply can even be used as a server.</TD> <% } else { %> <TD ROWSPAN=3> <IMG SRC="../embedded-images/prod1_buy.gif" ALT="" WIDTH=139 HEIGHT=126 border="0" usemap="#Map5"></TD> <TD ROWSPAN=3 align="left" valign="top">This powerful machine with 450W power supply can even be used as a server.<br><br> Log in and get instant $50 off!</TD> <% } %> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=42 ALT=""></TD> </TR> <TR> <TD COLSPAN=7> <IMG SRC="../embedded-images/latest_news.gif" WIDTH=234 HEIGHT=37 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=37 ALT=""></TD> </TR> <TR> <TD ROWSPAN=9> <IMG SRC="../embedded-images/si1-31.gif" WIDTH=5 HEIGHT=458 ALT=""></TD> <TD COLSPAN=6 ROWSPAN=8 align="left" valign="top"><div align="justify"><span class="text1">20/02/2004</span><br> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat. At vero eos et accusam et justo duo dolores et ea. At vero eos et accusam et justo duo dolores et ea. </div> <p align="right"><a href="#">Read more</a><img src="../embedded-images/bullet.gif" border="0" align="absbottom" usemap="#Map2"></p> <p align="left"><span class="text1">18/02/2004</span><br> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat. At vero eos et accusam et justo duo dolores et ea. At vero eos et accusam et justo duo dolores et ea.</p> <p align="right"><a href="#">Read more</a><img src="../embedded-images/bullet.gif" border="0" align="absbottom" usemap="#Map3"></p> <p align="justify"><span class="text1">17/02/2004</span><br> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat. At vero eos et accusam et justo duo dolores et ea. At vero eos et accusam et justo duo dolores et ea.</p> <p align="right"><a href="#">Read more</a><img src="../embedded-images/bullet.gif" border="0" align="absbottom" usemap="#Map4"></p></TD> <TD height="47"> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=47 ALT=""></TD> </TR> <TR> <TD height="67" COLSPAN=2> <IMG SRC="../embedded-images/prod2.gif" WIDTH=245 HEIGHT=67 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=67 ALT=""></TD> </TR> <TR> <% if (session.getAttribute("login.username") != null) { %> <TD ROWSPAN=3> <IMG SRC="../embedded-images/prod2_buy_member.gif" ALT="" WIDTH=139 HEIGHT=130 border="0" usemap="#Map6"></TD> <TD ROWSPAN=3 align="left" valign="top"> Desktop machine with ergonomic flat panel monitor. </TD> <% } else { %> <TD ROWSPAN=3> <IMG SRC="../embedded-images/prod2_buy.gif" ALT="" WIDTH=139 HEIGHT=130 border="0" usemap="#Map6"></TD> <TD ROWSPAN=3 align="left" valign="top"> Desktop machine with ergonomic flat panel monitor.<br><br> Log in and get instant $50 off! </TD> <% } %> <TD height="5"> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=5 ALT=""></TD> </TR> <TR> <TD height="14"> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=14 ALT=""></TD> </TR> <TR> <TD height="111"> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=111 ALT=""></TD> </TR> <TR> <TD COLSPAN=2 ROWSPAN=2> <IMG SRC="../embedded-images/prod3.gif" WIDTH=245 HEIGHT=62 ALT=""></TD> <TD height="16"> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=16 ALT=""></TD> </TR> <TR> <TD COLSPAN=3 ROWSPAN=3> <IMG SRC="../embedded-images/au3.gif" WIDTH=229 HEIGHT=198 ALT=""></TD> <TD height="46"> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=46 ALT=""></TD> </TR> <TR> <% if (session.getAttribute("login.username") != null) { %> <TD ROWSPAN=2> <IMG SRC="../embedded-images/prod3_buy_member.gif" ALT="" WIDTH=139 HEIGHT=152 border="0" usemap="#Map7"></TD> <TD height="130" align="left" valign="top">19-inch flat panel monitor with only 64K colors, but with 8ms response time. <% } else { %> <TD ROWSPAN=2> <IMG SRC="../embedded-images/prod3_buy.gif" ALT="" WIDTH=139 HEIGHT=152 border="0" usemap="#Map7"></TD> <TD height="130" align="left" valign="top">19-inch flat panel monitor with only 64K colors, but with 8ms response time.<br><br>Gamers, log in and get instant $50 off! <% } %> </TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=130 ALT=""></TD> </TR> <TR> <TD COLSPAN=6> <IMG SRC="../embedded-images/si3.gif" WIDTH=229 HEIGHT=22 ALT=""></TD> <TD> <IMG SRC="../embedded-images/so2.gif" WIDTH=106 HEIGHT=22 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=22 ALT=""></TD> </TR> <TR> <TD COLSPAN=16> <IMG SRC="../embedded-images/footer.gif" WIDTH=775 HEIGHT=27 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=27 ALT=""></TD> </TR> <TR> <TD COLSPAN=16 align="center" valign="top"> <div align="center"><a href="#">Home</a> | <a href="#">Company</a> | <a href="#">Products</a> | <a href="#">Info</a> | <a href="#">News</a> | <a href="#">Support</a> | <a href="#">Careers</a> | <a href="#">Site Map</a> | <a href="#">Contact Us</a> <p>© Copyright Your Company Name. Designed by <a href="http://www.templatesbox.com/templates/072.htm">TemplatesBox.com</a></p> </div></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=1 HEIGHT=64 ALT=""></TD> </TR> <TR> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=5 HEIGHT=1 ALT=""></TD> <TD width="63"> <IMG SRC="../embedded-images/spacer.gif" WIDTH=63 HEIGHT=1 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=66 HEIGHT=1 ALT=""></TD> <TD width="15"> <IMG SRC="../embedded-images/spacer.gif" WIDTH=15 HEIGHT=1 ALT=""></TD> <TD width="56"> <IMG SRC="../embedded-images/spacer.gif" WIDTH=56 HEIGHT=1 ALT=""></TD> <TD width="8"> <IMG SRC="../embedded-images/spacer.gif" WIDTH=8 HEIGHT=1 ALT=""></TD> <TD width="21"> <IMG SRC="../embedded-images/spacer.gif" WIDTH=21 HEIGHT=1 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=17 HEIGHT=1 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=20 HEIGHT=1 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=41 HEIGHT=1 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=84 HEIGHT=1 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=104 HEIGHT=1 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=22 HEIGHT=1 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=139 HEIGHT=1 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=106 HEIGHT=1 ALT=""></TD> <TD> <IMG SRC="../embedded-images/spacer.gif" WIDTH=8 HEIGHT=1 ALT=""></TD> <TD></TD> </TR> </TABLE> <!-- End ImageReady Slices --> <map name="Map"> <area shape="rect" coords="5,45,78,64" href="#" alt="GO"> </map> <map name="Map2"> <area shape="rect" coords="3,2,19,12" href="#" alt="Read more"> </map> <map name="Map3"> <area shape="rect" coords="0,2,29,13" href="#" alt="Read more"> </map> <map name="Map4"> <area shape="rect" coords="0,0,23,13" href="#" alt="Read more"> </map> <map name="Map5"> <area shape="rect" coords="43,87,116,105" href="#" alt="BUY"> </map> <map name="Map6"> <area shape="rect" coords="43,88,116,107" href="#" alt="BUY"> </map> <map name="Map7"> <area shape="rect" coords="43,109,116,129" href="#" alt="BUY"> </map> </center></BODY> </html:html> |
From: <jm...@us...> - 2005-08-04 07:40:09
|
Update of /cvsroot/struts/dialogs/war/sample-logincontrol/embedded-css In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19672/war/sample-logincontrol/embedded-css Added Files: styles.css Log Message: --- NEW FILE: styles.css --- body { margin-bottom: 0px; font-family: Verdana; font-size: 10px; font-style: normal; line-height: normal; font-weight: normal; font-variant: normal; text-transform: none; color: #7A7A7A; } a:link { color: #FF7F00; font-family: Verdana; font-size: 10px; text-decoration: underline; font-weight: bold; } a:hover { color: #FF7F00; font-family: verdana; font-size: 10px; font-weight: bold; font-style: normal; line-height: normal; font-variant: normal; text-transform: none; background-color: #CECECE; } a:visited { color: #7A7A7A; font-family: verdana; font-size: 10px; text-decoration: none; } td, textarea, input, select { font-family: Verdana; font-size: 10px; color: #7A7A7A; } .tableDetail { font-size: 10px; } .text1 { font-family: Verdana; font-size: 10px; font-weight: bold; color: #FF7F00; } |
Update of /cvsroot/struts/dialogs/war/sample-logincontrol/embedded-images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19672/war/sample-logincontrol/embedded-images Added Files: Careers-over.gif Careers.gif Company-over.gif Company.gif Contact-Us-blank.gif Contact-Us-over.gif Contact-Us.gif Home-over.gif Home.gif Info-over.gif Info.gif Products-over.gif Products.gif about_us.gif au1.gif au2.gif au3.gif bullet.gif footer.gif head1.gif head2.gif head3.gif index_19.gif index_19_blank.gif index_19_login.gif index_19_logout.gif latest_news.gif prod1.gif prod1_buy.gif prod1_buy_member.gif prod2.gif prod2_buy.gif prod2_buy_member.gif prod3.gif prod3_buy.gif prod3_buy_member.gif si1-31.gif si1.gif si2.gif si3.gif sign_in.gif so1.gif so2.gif spacer.gif user_info.gif Log Message: --- NEW FILE: Careers-over.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Careers.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Company-over.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Company.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Contact-Us-blank.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Contact-Us-over.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Contact-Us.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Home-over.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Home.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Info-over.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Info.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Products-over.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Products.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: about_us.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: au1.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: au2.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: au3.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: bullet.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: footer.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: head1.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: head2.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: head3.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: index_19.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: index_19_blank.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: index_19_login.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: index_19_logout.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: latest_news.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: prod1.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: prod1_buy.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: prod1_buy_member.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: prod2.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: prod2_buy.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: prod2_buy_member.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: prod3.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: prod3_buy.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: prod3_buy_member.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: si1-31.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: si1.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: si2.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: si3.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: sign_in.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: so1.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: so2.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: spacer.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: user_info.gif --- (This appears to be a binary file; contents omitted.) |
From: <jm...@us...> - 2005-08-04 07:40:03
|
Update of /cvsroot/struts/dialogs/war/sample-logincomponent In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19672/war/sample-logincomponent Added Files: index.html logincomponent-login.jsp logincomponent-logout.jsp userpage.jsp Log Message: --- NEW FILE: index.html --- <!-- Struts Dialogs Example Author: Michael Jouravlev, 2004-2005 --> <html> <head> <title>Struts Dialogs Examples</title> <meta name="description" content="Struts Dialogs Examples" /> <meta name="keywords" content="Struts Dialogs,Examples,Samples" > <base> </head> <blockquote> <h2>DialogAction, login component</h2> <p>Login component is an extension of <a href="http://www.superinterface.com/strutsdialog/logindialog.html">login dialog</a>. It not only allows to log in, but also tracks user's login status. Whenever a logged-in user navigates to login component location, the component displays user information and allows to log out.</p> <p>Use the "init" link to reset and clear Login Component with a special initialization request parameter. Login name and password used on last login attempt are cleared, and a current user is logged out.<br> <a href="logincomponent.do?DIALOG-EVENT-INIT=dummy">Login component (init)</a></p> <p>Use the "current view" link to see the current state of Login Component. If you are logged in, then the Login Component will display an information page with current user name and a "Log Out" button.<br> <a href="logincomponent.do">Login component (current view)</a></p> </blockquote> </html> --- NEW FILE: logincomponent-login.jsp --- <!-- Struts Dialogs Example Author: Michael Jouravlev, 2004-2005 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title>Dialog Action, Login Control: Not Logged In</title> <html:base/> </head> <body> <h2>Login component</h2> <!-- Standard Struts error handling --> <logic:messagesPresent> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> <br> </logic:messagesPresent> <html:form action="/sample-logincomponent/logincomponent.do"> <input type="hidden" name="DIALOG-DEFAULT-EVENT" value="DIALOG-EVENT-LOGIN" /> <table border="1" width="300" > <tr> <td colspan="2" align="left" bgcolor="#FF9966">Log in</td> </tr> <tr> <td align="left" bgcolor="#FF9966">User name:</td> <td><html:text name="loginform" property="name" size="15" tabindex="1"/></td> </tr> <tr> <td align="left" bgcolor="#FF9966">User password:</td> <td><html:text name="loginform" property="password" size="15" tabindex="2"/></td> </tr> <tr> <td colspan="2" align="right" bgcolor="#FF9966"> <INPUT type="submit" size="10" name="DIALOG-EVENT-LOGIN" value="Log In"> </td> </tr> </table> </html:form> <hr> <p>Valid login/password combination is <b>guest/guest</b>.</p> <p>Enter a valid login/password combination. The login control will show "User Info" page. Notice, that it has the same address as "Login" page. Both pages are treated by most browsers as the same resource. Thus, new pages are not added to browser session history and it is possible to return back to the description page with only one click on Back browser button. Also, it is impossible even to try to login again, because login page cannot be shown while a user is logged in.</p> <p>Use "init" link on <a href="index.html">description page</a> to reset and clear the dialog content and to log out the current user.</p> </body> </html:html> --- NEW FILE: logincomponent-logout.jsp --- <!-- Struts Dialogs Example Author: Michael Jouravlev, 2004-2005 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title>Dialog Action, Login Control: Logged In</title> <html:base/> </head> <body> <h2>Login component</h2> <!-- Standard Struts error handling --> <logic:messagesPresent> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> <br> </logic:messagesPresent> <!-- Show user name from session --> <html:form action="/sample-logincomponent/logincomponent.do"> <table border="1" width="300"> <tr> <td colspan="2" align="left" bgcolor="#FF9966">Logged in</td> </tr> <tr> <td align="left" bgcolor="#FF9966">Current user:</td> <td><%= session.getAttribute("login.username") %></td> </tr> <tr> <td colspan="2" align="right" bgcolor="#FF9966"> <INPUT type="submit" size="10" name="DIALOG-EVENT-LOGOUT" value="Log Out"> </td> </tr> </table> </html:form> <html:link page="/sample-logincomponent/userpage.jsp">Goto homepage</html:link> <hr> <p>Use "Goto user's page" link to navigate to user's page. This page is available only after a user logs in.</p> <p>Notice, that this page has the same location as "Login" page. Both pages are treated by most browsers as the same page. Thus, new pages are not added to browser session history and it is possible to return back to the main "Samples" page with only one click on Back browser button. Also, it is impossible to login again, because login page cannot be shown while a user is logged in.</p> <p>Try to click Back browser button and see, that you are not brought to "Login" page, but instead you are transferred to the description page. Note: this works with MSIE and Mozilla/Firefox, but does not work with Opera, because Opera caches every page regardless of its location.</p> <p>Use "init" link on <a href="index.html">description page</a> to reset and clear the dialog content and to log out the current user.</p> </html:html> --- NEW FILE: userpage.jsp --- <!-- Easy Wizard example Author: Michael Jouravlev, 2004-2005 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <% response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache,no-store,max-age=0"); response.setDateHeader("Expires", 1); if (session.getAttribute("login.username") != null) { %> <html:html locale="true"> <head> <title>User home page</title> </head> <body> <!-- Show boilerplate user page --> <table border="1" width="300"> <tr> <td align="left" bgcolor="#FFCC66">Welcome, <%= session.getAttribute("login.username") %>!</td> </tr> <tr> <td align="left" bgcolor="#FFCC66"> Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</td> </tr> </table> <p>Use Back browser button to return to previous page.</p> </body> </html:html> <% } else { %> <html:html locale="true"> <head> <title>User home page</title> </head> <body> <table border="1" width="300"> <tr> <td align="left" bgcolor="#FFCC66">User is not logged in</td> </tr> <tr> <td align="left" bgcolor="#FFCC66">Please, click Back and log in.</td> </tr> </table> <p>Use Back browser button to return to previous page.</p> </body> </html:html> <% } %> |
From: <jm...@us...> - 2005-08-04 07:39:59
|
Update of /cvsroot/struts/dialogs/war/sample-crud In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19672/war/sample-crud Added Files: crudaction-edit.jsp crudaction-error.jsp crudaction-list.jsp crudaction-lite-edit.jsp crudaction-lite-list.jsp crudaction-lite-noedit.jsp crudaction-noedit.jsp crudaction-notactive.jsp Log Message: --- NEW FILE: crudaction-edit.jsp --- <!-- Struts Dialogs Example Author: Michael Jouravlev, 2004-2005 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title>CRUDAction create/edit</title> </head> <body> <h2><bean:write name="crudform" property="itemHeader"/></h2> <!-- Standard Struts error handling --> <logic:messagesPresent> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> <br> </logic:messagesPresent> <html:form action="/crudaction.do"> <table border="1" width="300" > <tr> <td align="left" bgcolor="#FF9966">Item ID</td> <td><bean:write name="crudform" property="itemId"/></td> </tr> <tr> <td align="left" bgcolor="#FF9966">String value</td> <td><html:text name="crudform" property="stringValue" size="15" tabindex="1"/></td> </tr> <tr> <td align="left" bgcolor="#FF9966">Num value</td> <td><html:text name="crudform" property="intValue" size="15" tabindex="1"/></td> </tr> <tr> <td colspan="2" align="right" bgcolor="#FF9966"> <INPUT type="submit" size="10" name="DIALOG-EVENT-CANCEL" value="Cancel"> <!-- Delete operation does not work with new items since they are not stored in the database yet. This can be your assignment: add a status field to BusinessObj class, and show "Delete" button for existing items only. --> <INPUT type="submit" size="10" name="DIALOG-EVENT-DELETE" value="Delete"> <INPUT type="submit" size="10" name="DIALOG-EVENT-SAVE" value="Save Changes"> </td> </tr> </table> </html:form> </body> </html:html> --- NEW FILE: crudaction-error.jsp --- <!-- Struts Dialogs Example Author: Michael Jouravlev, 2004-2005 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title>Error</title> </head> <body> <h2>Error</h2> <!-- Standard Struts error handling --> <logic:messagesPresent> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> <br> </logic:messagesPresent> </body> </html:html> --- NEW FILE: crudaction-list.jsp --- <!-- PRG pattern example Author: Michael Jouravlev, 2004 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html locale="true"> <head> <title>Item List</title> <meta HTTP-EQUIV="Pragma" content="no-cache"> <meta HTTP-EQUIV="Expires" content="-1"> <html:base/> </head> <!-- Standard Struts error handling --> <table border="0" cellspacing="0" cellpadding="0" width=600> <tr> <td color="red"><html:errors/></td> </tr> </table> <h3>Item List</h3> <table border="1" width="100%"> <tr> <th align="left" bgcolor="CC9966">ID</th> <th align="left" bgcolor="CC9966">Str Value</th> <th align="left" bgcolor="CC9966">Int Value</th> <th align="left" bgcolor="CC9966" colspan="4">Operation</th> </tr> <!-- Show item list --> <logic:iterate id="item" name="crud-item-list" type="net.jspcontrols.dialogs.samples.crud.business.BusinessObj"> <html:form action="/crudaction.do"> <tr> <!-- Item ID --> <td><bean:write name="item" property="itemId"/></td> <!-- Item Value --> <td><bean:write name="item" property="stringValue"/></td> <!-- Item Status --> <td><bean:write name="item" property="intValue"/></td> <!-- View Item --> <td> <html:submit property="DIALOG-EVENT-DUPLICATE" value="Duplicate Item"/> </td> <!-- View Item --> <td> <html:submit property="DIALOG-EVENT-VIEW" value="View Item"/> </td> <!-- Edit Item --> <td> <html:submit property="DIALOG-EVENT-UPDATE" value="Update Item"/> </td> <!-- Delete Item --> <td> <html:submit property="DIALOG-EVENT-DELETE" value="Delete Item"/> </td> </tr> <html:hidden name="item" property="itemId"/> </html:form> </logic:iterate> </table> <br/> <html:form action="/crudaction.do"> <html:submit property="DIALOG-EVENT-CREATE" value="Create New Item"/> </html:form> </html:html> --- NEW FILE: crudaction-lite-edit.jsp --- <!-- Struts Dialogs Example Author: Michael Jouravlev, 2004-2005 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title>CRUDAction create/edit</title> </head> <body> <h2><bean:write name="crudform" property="itemHeader"/></h2> <!-- Standard Struts error handling --> <logic:messagesPresent> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> <br> </logic:messagesPresent> <html:form action="/crudactionlite.do"> <table border="1" width="300" > <tr> <td align="left" bgcolor="#FF9966">Item ID</td> <td><bean:write name="crudform" property="itemId"/></td> </tr> <tr> <td align="left" bgcolor="#FF9966">String value</td> <td><html:text name="crudform" property="stringValue" size="15" tabindex="1"/></td> </tr> <tr> <td align="left" bgcolor="#FF9966">Num value</td> <td><html:text name="crudform" property="intValue" size="15" tabindex="1"/></td> </tr> <tr> <td colspan="2" align="right" bgcolor="#FF9966"> <INPUT type="submit" size="10" name="DIALOG-EVENT-CANCEL" value="Cancel"> <INPUT type="submit" size="10" name="DIALOG-EVENT-SAVE" value="Save Changes"> </td> </tr> </table> </html:form> </body> </html:html> --- NEW FILE: crudaction-lite-list.jsp --- <%@ page import="java.util.ArrayList, net.jspcontrols.dialogs.samples.crud.CRUDFormSample, net.jspcontrols.dialogs.samples.crud.business.BusinessObj" %> <!-- PRG pattern example Author: Michael Jouravlev, 2004 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html locale="true"> <head> <title>Item List</title> <meta HTTP-EQUIV="Pragma" content="no-cache"> <meta HTTP-EQUIV="Expires" content="-1"> <html:base/> </head> <!-- Standard Struts error handling --> <table border="0" cellspacing="0" cellpadding="0" width=600> <tr> <td color="red"><html:errors/></td> </tr> </table> <h3>Item List</h3> <table border="1" width="100%"> <tr> <th align="left" bgcolor="CC9966">ID</th> <th align="left" bgcolor="CC9966">Str Value</th> <th align="left" bgcolor="CC9966">Int Value</th> <th align="left" bgcolor="CC9966" colspan="4">Operation</th> </tr> <% synchronized(session) { ArrayList items = (ArrayList) session.getAttribute(CRUDFormSample.CRUD_LIST_KEY); // Create test sample of three items if (items == null) { items = new ArrayList(); items.add(new BusinessObj()); items.add(new BusinessObj()); items.add(new BusinessObj()); session.setAttribute(CRUDFormSample.CRUD_LIST_KEY, items); } } %> <!-- Show item list --> <logic:iterate id="item" name="crud-item-list" type="net.jspcontrols.dialogs.samples.crud.business.BusinessObj"> <html:form action="/crudactionlite.do"> <tr> <!-- Item ID --> <td><bean:write name="item" property="itemId"/></td> <!-- Item Value --> <td><bean:write name="item" property="stringValue"/></td> <!-- Item Status --> <td><bean:write name="item" property="intValue"/></td> <!-- View Item --> <td> <html:submit property="DIALOG-EVENT-DUPLICATE" value="Duplicate Item"/> </td> <!-- View Item --> <td> <html:submit property="DIALOG-EVENT-VIEW" value="View Item"/> </td> <!-- Edit Item --> <td> <html:submit property="DIALOG-EVENT-UPDATE" value="Update Item"/> </td> <!-- Delete Item --> <td> <html:submit property="DIALOG-EVENT-DELETE" value="Delete Item"/> </td> </tr> <html:hidden name="item" property="itemId"/> </html:form> </logic:iterate> </table> <br/> <html:form action="/crudactionlite.do"> <html:submit property="DIALOG-EVENT-CREATE" value="Create New Item"/> </html:form> </html:html> --- NEW FILE: crudaction-lite-noedit.jsp --- <!-- Struts Dialogs Example Author: Michael Jouravlev, 2004-2005 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title>CRUDAction View</title> </head> <body> <h2>View item</h2> <!-- Standard Struts error handling --> <logic:messagesPresent> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> <br> </logic:messagesPresent> <html:form action="/crudactionlite.do"> <table border="1" width="300" > <tr> <td align="left" bgcolor="#FF9966">Item ID</td> <td><bean:write name="crudform" property="itemId"/></td> </tr> <tr> <td align="left" bgcolor="#FF9966">String value</td> <td><bean:write name="crudform" property="stringValue"/></td> </tr> <tr> <td align="left" bgcolor="#FF9966">Num value</td> <td><bean:write name="crudform" property="intValue"/></td> </tr> <tr> <td colspan="2" align="right" bgcolor="#FF9966"> <INPUT type="submit" size="10" name="DIALOG-EVENT-CLOSE" value="Close"> </td> </tr> </table> </html:form> </body> </html:html> --- NEW FILE: crudaction-noedit.jsp --- <!-- Struts Dialogs Example Author: Michael Jouravlev, 2004-2005 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title>CRUDAction View</title> </head> <body> <h2>View item</h2> <!-- Standard Struts error handling --> <logic:messagesPresent> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> <br> </logic:messagesPresent> <html:form action="/crudaction.do"> <table border="1" width="300" > <tr> <td align="left" bgcolor="#FF9966">Item ID</td> <td><bean:write name="crudform" property="itemId"/></td> </tr> <tr> <td align="left" bgcolor="#FF9966">String value</td> <td><bean:write name="crudform" property="stringValue"/></td> </tr> <tr> <td align="left" bgcolor="#FF9966">Num value</td> <td><bean:write name="crudform" property="intValue"/></td> </tr> <tr> <td colspan="2" align="right" bgcolor="#FF9966"> <INPUT type="submit" size="10" name="DIALOG-EVENT-CLOSE" value="Close"> </td> </tr> </table> </html:form> </body> </html:html> --- NEW FILE: crudaction-notactive.jsp --- <!-- Struts Dialogs Example Author: Michael Jouravlev, 2004-2005 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title>CRUDAction Not Active</title> </head> <body> <h2>Not Active Or Expired</h2> <table border="1" width="400" > <tr> <td align="left" bgcolor="#FF9966">The item that you're looking for, is expired.</td> </tr> <tr> <td align="right" bgcolor="#FF9966"> <html:link page="/cruditemlist.do">Go to item list</html:link> </td> </tr> </table> </body> </html:html> |
Update of /cvsroot/struts/dialogs/war In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19672/war Added Files: index.html Removed Files: allsamples.html crudaction-edit.jsp crudaction-error.jsp crudaction-list.jsp crudaction-lite-edit.jsp crudaction-lite-list.jsp crudaction-lite-noedit.jsp crudaction-noedit.jsp crudaction-notactive.jsp dialogloginaction.jsp dialogloginactioncontrol-login.jsp dialogloginactioncontrol-logout.jsp dialoglogincontroluserpage.jsp dialogloginuserpage.jsp embedded-child-login.jsp embedded-child-logout.jsp embedded-masterpage-resin.jsp embedded-masterpage-tomcat.jsp index.htm iologinactionpre.html login.gif logincomponent.html logincontrol.html logindialog.html selectActionImage.jsp selectaction.html selectadd.html selectcancel.html selectdelete.html selectlogin.html selectunspecified.html wizard-error.jsp wizard-signupconfirm.jsp wizard-signupdetails.jsp wizard-signupstart.jsp wizard-userpage.jsp Log Message: --- NEW FILE: index.html --- <!-- Struts Dialogs Example Author: Michael Jouravlev, 2004-2005 --> <html> <head> <title>Struts Dialogs Examples</title> <meta name="description" content="Struts Dialogs Examples" /> <meta name="keywords" content="Struts Dialogs,Examples,Samples" > </head> <h1>Struts Dialogs samples</h1> <blockquote> <h2>SelectAction</h2> <p>SelectAction is an abstract Struts Action that dispatches an HTTP form submission event to a handler method.</p> <p>The purpose of this class is processing submission of HTML forms. Unlike DispatchAction and LookupDispatchAction, which correlate value attribute of submit form element with handler method, this class uses name attribute. Using name attribute allows to display a user-friendly caption on a submit button.</p> <a href="sample-selectaction/index.html">SelectAction example</a> <br> <h2>DialogAction, login dialog</h2> <p>DialogAction allows creating robust web components and web controls, which enhibit friendly user experience, react properly to Refresh, Back and Forward buttons, and do not cause implicit double submits or annoying POSTDATA messages.</p> <p>Login dialog has only one view: login form.</p> <a href="sample-logindialog/index.html">Login Dialog</a><br> <h2>DialogAction, login component</h2> <p>Login component is an extension of login dialog. It not only allows to log in, it also tracks user's login status. Whenever a logged-in user navigates to login component location, the component displays user information and allows to log out.</p> <a href="sample-logincomponent/index.html">Login Component</a><br> <h2>DialogAction, login control</h2> <p>This example shows how to create a child login control, using JSP master page.</p> <a href="sample-logincontrol/index.html">Embedded login Control</a><br> <h2>CRUDAction (with setup list action)</h2> <a href="cruditemlist.do">Item list, CRUD operations</a><br> <h2>CRUDAction (all-in-one web island)</h2> <a href="crudactionlite.do">Item list and CRUD operations in one action</a><br> <h2>WizardAction</h2> <a href="wizardaction.do">Example of New User Signup wizard</a><br> </blockquote> </html> --- allsamples.html DELETED --- --- crudaction-edit.jsp DELETED --- --- crudaction-error.jsp DELETED --- --- crudaction-list.jsp DELETED --- --- crudaction-lite-edit.jsp DELETED --- --- crudaction-lite-list.jsp DELETED --- --- crudaction-lite-noedit.jsp DELETED --- --- crudaction-noedit.jsp DELETED --- --- crudaction-notactive.jsp DELETED --- --- dialogloginaction.jsp DELETED --- --- dialogloginactioncontrol-login.jsp DELETED --- --- dialogloginactioncontrol-logout.jsp DELETED --- --- dialoglogincontroluserpage.jsp DELETED --- --- dialogloginuserpage.jsp DELETED --- --- embedded-child-login.jsp DELETED --- --- embedded-child-logout.jsp DELETED --- --- embedded-masterpage-resin.jsp DELETED --- --- embedded-masterpage-tomcat.jsp DELETED --- --- index.htm DELETED --- --- iologinactionpre.html DELETED --- --- login.gif DELETED --- --- logincomponent.html DELETED --- --- logincontrol.html DELETED --- --- logindialog.html DELETED --- --- selectActionImage.jsp DELETED --- --- selectaction.html DELETED --- --- selectadd.html DELETED --- --- selectcancel.html DELETED --- --- selectdelete.html DELETED --- --- selectlogin.html DELETED --- --- selectunspecified.html DELETED --- --- wizard-error.jsp DELETED --- --- wizard-signupconfirm.jsp DELETED --- --- wizard-signupdetails.jsp DELETED --- --- wizard-signupstart.jsp DELETED --- --- wizard-userpage.jsp DELETED --- |
From: <jm...@us...> - 2005-08-04 07:31:52
|
Update of /cvsroot/struts/dialogs/war/sample-logincontrol/embedded-css In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18303/embedded-css Log Message: Directory /cvsroot/struts/dialogs/war/sample-logincontrol/embedded-css added to the repository |
From: <jm...@us...> - 2005-08-04 07:31:52
|
Update of /cvsroot/struts/dialogs/war/sample-logincontrol/embedded-images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18303/embedded-images Log Message: Directory /cvsroot/struts/dialogs/war/sample-logincontrol/embedded-images added to the repository |
From: <jm...@us...> - 2005-08-04 07:31:52
|
Update of /cvsroot/struts/dialogs/war/sample-logincontrol/tomcat In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18303/tomcat Log Message: Directory /cvsroot/struts/dialogs/war/sample-logincontrol/tomcat added to the repository |
From: <jm...@us...> - 2005-08-04 07:31:52
|
Update of /cvsroot/struts/dialogs/war/sample-logincontrol/resin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18303/resin Log Message: Directory /cvsroot/struts/dialogs/war/sample-logincontrol/resin added to the repository |
From: <jm...@us...> - 2005-08-04 07:31:26
|
Update of /cvsroot/struts/dialogs/war/sample-logindialog In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18204/sample-logindialog Log Message: Directory /cvsroot/struts/dialogs/war/sample-logindialog added to the repository |
From: <jm...@us...> - 2005-08-04 07:31:26
|
Update of /cvsroot/struts/dialogs/war/sample-wizardaction In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18204/sample-wizardaction Log Message: Directory /cvsroot/struts/dialogs/war/sample-wizardaction added to the repository |
From: <jm...@us...> - 2005-08-04 07:31:26
|
Update of /cvsroot/struts/dialogs/war/sample-selectaction In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18204/sample-selectaction Log Message: Directory /cvsroot/struts/dialogs/war/sample-selectaction added to the repository |
From: <jm...@us...> - 2005-08-04 07:31:25
|
Update of /cvsroot/struts/dialogs/war/sample-logincontrol In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18204/sample-logincontrol Log Message: Directory /cvsroot/struts/dialogs/war/sample-logincontrol added to the repository |
From: <jm...@us...> - 2005-08-04 07:31:25
|
Update of /cvsroot/struts/dialogs/war/sample-logincomponent In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18204/sample-logincomponent Log Message: Directory /cvsroot/struts/dialogs/war/sample-logincomponent added to the repository |
From: <jm...@us...> - 2005-08-04 07:31:25
|
Update of /cvsroot/struts/dialogs/war/sample-crud In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18204/sample-crud Log Message: Directory /cvsroot/struts/dialogs/war/sample-crud added to the repository |
From: <jm...@us...> - 2005-08-03 23:59:11
|
Update of /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28407/src/documentation/content/xdocs/strutsdialogs Modified Files: dialogaction-logindialogsample.xml index.xml Log Message: Index: dialogaction-logindialogsample.xml =================================================================== RCS file: /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs/dialogaction-logindialogsample.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** dialogaction-logindialogsample.xml 5 Jul 2005 07:54:01 -0000 1.4 --- dialogaction-logindialogsample.xml 3 Aug 2005 23:59:00 -0000 1.5 *************** *** 22,29 **** error messages between requests.</p> ! <p>To initialize login dialog you must pass the initialization key to it. You can ! use either initialization link, or initialization submit button. Initialization event ! is the only component event, that can be triggered by a GET request. For example, ! all following methods are valid for initialization:</p> <source> --- 22,28 ---- error messages between requests.</p> ! <p>Login dialog can be initialized in a handler method. This means, that request should ! contain an initialization key, mapped to a method. You can use either a link or a submit ! button. For example, all following methods are valid for initialization:</p> <source> *************** *** 60,76 **** /** - * Returns the initialization key. Must start with the same prefix as - * other dialog buttons. - */ - protected String getInitKey() { - return "DIALOG-EVENT-INIT"; - } - - /** * Maps init event and submit buttons to handler methods */ protected Map getKeyMethodMap() { Map map = new HashMap(); ! map.put(getInitKey(), "init"); map.put("DIALOG-EVENT-LOGIN", "login"); return map; --- 59,69 ---- /** * Maps init event and submit buttons to handler methods */ protected Map getKeyMethodMap() { Map map = new HashMap(); ! // getInitKey() defined in SelectAction ! // to return "DIALOG-EVENT" prefix. ! map.put(getInitKey()-INIT, "init"); map.put("DIALOG-EVENT-LOGIN", "login"); return map; Index: index.xml =================================================================== RCS file: /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs/index.xml,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** index.xml 22 Jul 2005 01:38:00 -0000 1.9 --- index.xml 3 Aug 2005 23:59:01 -0000 1.10 *************** *** 53,58 **** <title>SelectAction: dispatches submit events</title> <p><link href="selectaction.html">SelectAction</link> is an enhancement of standard DispatchAction. ! It handles submit events and serves as base class for all other action classes of Struts Dialogs ! library. SelectAction has the following features:</p> <ul> <li>works uniformly with pushbuttons, image buttons and regular links;</li> --- 53,58 ---- <title>SelectAction: dispatches submit events</title> <p><link href="selectaction.html">SelectAction</link> is an enhancement of standard DispatchAction. ! It handles submit events and provides improved dispatching functionality. ! SelectAction has the following features:</p> <ul> <li>works uniformly with pushbuttons, image buttons and regular links;</li> *************** *** 63,70 **** <section id="dialogaction"> <title>DialogAction: handles component state and renders a view</title> ! <p><link href="dialogaction.html">DialogAction</link> allows creating robust ! web components and web controls, which enhibit ! friendly user experience, react properly to Refresh, Back and Forward buttons, ! and do not cause implicit double submits or annoying POSTDATA messages.</p> <p><code>DialogAction</code> adds the following capabilities to event dispatching --- 63,73 ---- <section id="dialogaction"> <title>DialogAction: handles component state and renders a view</title> ! <p><link href="dialogaction.html">DialogAction</link> is the main asset of ! Struts Dialogs library.</p> ! ! <p>DialogAction allows creating robust ! web components and web controls, which enhibit friendly user experience, ! react properly to Refresh, Back and Forward buttons, and do not cause implicit ! double submits or annoying POSTDATA messages.</p> <p><code>DialogAction</code> adds the following capabilities to event dispatching |
From: <jm...@us...> - 2005-07-22 01:39:35
|
Update of /cvsroot/struts/struts-site In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7826 Modified Files: b.cmd Log Message: Index: b.cmd =================================================================== RCS file: /cvsroot/struts/struts-site/b.cmd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** b.cmd 29 Jun 2005 22:51:35 -0000 1.1 --- b.cmd 22 Jul 2005 01:37:59 -0000 1.2 *************** *** 1 **** ! call c:\Dev\apache-forrest-0-5-1\bin\forrest.bat site \ No newline at end of file --- 1 ---- ! call C:\Dev\apache-forrest-0-5\bin\forrest.bat site \ No newline at end of file |
From: <jm...@us...> - 2005-07-22 01:39:30
|
Update of /cvsroot/struts/struts-site/src/documentation/content/xdocs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7826/src/documentation/content/xdocs Modified Files: index.xml Log Message: Index: index.xml =================================================================== RCS file: /cvsroot/struts/struts-site/src/documentation/content/xdocs/index.xml,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** index.xml 5 Jul 2005 07:54:00 -0000 1.12 --- index.xml 22 Jul 2005 01:37:59 -0000 1.13 *************** *** 88,97 **** <p> <strong>Struts Dialogs</strong><br /> ! Provides basic dialog functions, allows to create robust user inteface using two-phase input processing. ! The main concept of Struts Dialogs is <strong>separation of input and output phases</strong>. ! This solves several issues related to HTML form input, most evident of which are double submit problem ! and annoying POSTDATA messages. I/O separation also improves usability for Reload, Back and ! Forward buttons. Struts 1.2.2+ is supported. ! </p> <p> <strong>Struts Flow</strong><br /> --- 88,96 ---- <p> <strong>Struts Dialogs</strong><br /> ! This Struts library allows building stateful <em>web components</em> using Struts and JSP. ! Do you like JSF component model or portlet visual integration, but want to leverage your ! knowledge of Struts and JSP? Do you want to get rid of double submit problem? Do you want ! to create robust multi-page wizards? Do you want to simplify your source code? Try Struts Dialogs! ! </p> <p> <strong>Struts Flow</strong><br /> |
Update of /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7826/src/documentation/content/xdocs/strutsdialogs Modified Files: dialogaction.xml index.xml selectaction-sample.xml selectaction.xml Log Message: Index: dialogaction.xml =================================================================== RCS file: /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs/dialogaction.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** dialogaction.xml 5 Jul 2005 07:54:01 -0000 1.5 --- dialogaction.xml 22 Jul 2005 01:38:00 -0000 1.6 *************** *** 83,116 **** </section> - <section id="keysandmappings"> - <title>Default keys and mappings</title> - <p>DialogAction defines several event keys and method mappings. - See <link href="selectaction.html">SelectAction</link> for - explanation of event dispatching.</p> - - <!-- - <p>String DIALOG-VIEW-KEY = "DIALOG-VIEW";<br/> - This is a default view mapping, mandatory if a dialog action has only one page to render. - If dialog can render different pages depending on application state, use action-specific mappings.</p> - - <p>String DIALOG-RELOAD-KEY = "DIALOG-RELOAD";<br/> - This is a default reload mapping, optional. Can be omitted if a dialog action redirects to itself - for view processing, which is a default behavior. It is possible to split input and output processing - between two separate actions, in this case use this mapping to set the "view action" name. - </p> - --> - <p>String DIALOG-EVENT-KEY = "DIALOG-EVENT";<br/> - This is a default prefix for all submit events.</p> - - <p>String DIALOG-EVENT-INIT = "<strong>DIALOG-EVENT</strong>-INIT";<br/> - This is a default name of initialization key. It is important that initialization key - is based on the event key.</p> - - <p>The standard keys and output mappings are defined in <code>DialogConstants</code> class.</p> - </section> - <section id="usage"> <title>Usage</title> ! <p>When form is submitted, DialogAction dispatches submit event to a corresponding handler method. To make this happen, automatic validation must be turned off in a corresponding form bean. The hander should validate input data explicitly, and perform model update if needed.</p> --- 83,95 ---- </section> <section id="usage"> <title>Usage</title> ! <p>When an action is loaded either with hyperlink or by typing its location in the browser address ! field, browser sends GET request to the server. When DialogAction receives GET request, which does ! not contain event parameter, it renders a page. In case of simple dialogs, this would be default view. ! In case of multi-page component, this would be a page, corresponding to current component state. ! The page usually contains HTML form, which accepts user data.</p> ! ! <p>When form is submitted, DialogAction dispatches browser event to a corresponding handler method. To make this happen, automatic validation must be turned off in a corresponding form bean. The hander should validate input data explicitly, and perform model update if needed.</p> *************** *** 120,124 **** because request for data submission has POST type, while redirected request for action reloading is automatically converted to GET type. GET request does not cause component reloading. ! Instead, when DialogAction receives GET request, it renders a view.</p> <source> --- 99,105 ---- because request for data submission has POST type, while redirected request for action reloading is automatically converted to GET type. GET request does not cause component reloading. ! Instead, when DialogAction receives GET request, it renders a view, corresponding to current ! state. The lifecycle repeats until the component decides to hand control over to another ! component, usually when user input does not contain errors.</p> <source> *************** *** 126,143 **** ... <forward name = "DIALOG-RELOAD" path="/dialogloginaction.do" redirect="true"/> ! <forward name="DIALOG-VIEW" path="/dialogloginaction.jsp"/> </action> </source> <p>If no errors were detected and action can render a view for new component state, ! then component can be reloaded. Otherwise, control is handed over to another action. Redirection ! is a preferred way to hand over the control to prevent double submit issues.</p> <p>When a user refreshes a page, component reloads itself, and displays a view appropriate to its state. This implies that application state must be stored on server between requests. The view is rendered by <code>getView</code> method. For a simple web dialog, which has only one ! view, the default implementation of getView is sufficient, it returns "DIALOG-VIEW" mapping. ! All you need is define a name of JSP page in the <code>struts-config.xml</code> file. See example ! above.</p> <p>Do not use redirection for a view. If you create more complex web component --- 107,125 ---- ... <forward name = "DIALOG-RELOAD" path="/dialogloginaction.do" redirect="true"/> ! <forward name = "DIALOG-VIEW" path="/dialogloginaction.jsp"/> </action> </source> <p>If no errors were detected and action can render a view for new component state, ! then component can either reload itself, or hand control over to another action. Redirection ! is a preferred way to hand over the control to prevent double submit issues. ! DialogAction has default mapping name, used for component reloading: "DIALOG-RELOAD".</p> <p>When a user refreshes a page, component reloads itself, and displays a view appropriate to its state. This implies that application state must be stored on server between requests. The view is rendered by <code>getView</code> method. For a simple web dialog, which has only one ! view, the default implementation of getView is sufficient. All you need is define a name of ! JSP page in the <code>struts-config.xml</code> file, which corresponds to default "DIALOG-VIEW" ! mapping. See example above.</p> <p>Do not use redirection for a view. If you create more complex web component *************** *** 145,160 **** mapping for each component state.</p> ! <p>A special init key parameter must be used to initialize and reset DialogAction. ! This is necessary because otherwise there would be no way to distinguish the following events:</p> <ul> ! <li>use the component with fresh set of data;</li> ! <li>navigate to component using a link;</li> <li>refresh a component explicitly;</li> <li>automatically reload a component as the second phase of input processing.</li> </ul> ! <p>Initialization event allows to reset the component for new set of data. Three ! other events: linking, refreshing and component reloading are treated the same, and ! render a view, corresponding to current component state. That means that navigating ! to a component via link displays current state of component, but does not initialize it.</p> </section> --- 127,149 ---- mapping for each component state.</p> ! <p>DialogAction has an option to reset the component when it receives new portion ! of data submitted with POST request. POST request method signals that browser submits new ! data instead of loading existing information. But sometimes component has to be reset with ! GET method, if it is navigated using hyperlink. DialogAction needs to distinguish these ! situations:</p> <ul> ! <li>reset component and fill it with new data;</li> ! <li>navigate to component using a "clean" link;</li> <li>refresh a component explicitly;</li> <li>automatically reload a component as the second phase of input processing.</li> </ul> ! <p>DialogAction uses event parameter as flag for component that it can be reset. ! Three other situations: "clean" linking, refreshing and component reloading are ! treated the same, because request does not contain event parameter in all three cases. In these ! cases DialogAction renders a view, corresponding to current component state.</p> ! ! <p>In plain words the above means that navigating to a component via link, which does not ! have event key as query parameter, displays current state of component but does not initialize ! it. See live demos for details, and pay attention to component URLs.</p> </section> Index: index.xml =================================================================== RCS file: /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs/index.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** index.xml 11 Jul 2005 07:46:53 -0000 1.8 --- index.xml 22 Jul 2005 01:38:00 -0000 1.9 *************** *** 9,19 **** <section id="overview"> <title>Overview</title> ! <p>Struts Dialogs library allows building <em>web components</em>, ! <em>web controls</em> and <em>web dialogs</em>, using Struts and JSP.</p> <p><strong>Web component</strong> is a server-side object, which is:</p> <ul> <li>stateful;</li> ! <li>can process input events</li> <li>can render itself according to its current state;</li> </ul> --- 9,18 ---- <section id="overview"> <title>Overview</title> ! <p>Struts Dialogs library allows building <em>web components</em> using Struts and JSP.</p> <p><strong>Web component</strong> is a server-side object, which is:</p> <ul> <li>stateful;</li> ! <li>can process input events;</li> <li>can render itself according to its current state;</li> </ul> *************** *** 21,25 **** <p><strong>Web control</strong> is a web component, which:</p> <ul> ! <li>can be embedded into a complex <em>master page</em>;</li> <li>can interact with master page and, optionally, with other web controls.</li> </ul> --- 20,24 ---- <p><strong>Web control</strong> is a web component, which:</p> <ul> ! <li>can be embedded into a <em>master page</em>;</li> <li>can interact with master page and, optionally, with other web controls.</li> </ul> *************** *** 30,44 **** <p>If the above definition sounds too vague and generic, think of a standard login form. It asks a user for name and password. If entered information is incorrect, login form ! redisplays itself along with error message. Therefore, login form is an example of a ! <em>login dialog</em>. It renders itself, it has only one view, and it ! is stateful, because if you reload login page, it retains username and password.</p> <p>Now consider a component which not only collects username and password, but also ! keeps track of user login/logout status. This would be a <em>login component</em>. ! It is more complex than a login dialog, because it maintains two states and ! two corresponding views: "not logged in" and "logged in". After user successfully logs ! in, login component displays page corresponding to "logged in" state, which shows ! user information. This is a stateful component, because it shows user information ! page whenever a logged-in user navigates to login component.</p> <p>What if we want to embed login component in a complex web page? For example, see --- 29,44 ---- <p>If the above definition sounds too vague and generic, think of a standard login form. It asks a user for name and password. If entered information is incorrect, login form ! redisplays itself along with error message. Login form can render itself, it has only ! one view, and it is stateful, because if you reload login page, it retains username and ! password. Therefore, login form is an example of a ! <link href="http://www.superinterface.com/strutsdialog/logindialog.html">login dialog</link>.</p> <p>Now consider a component which not only collects username and password, but also ! displays user's login/logout status. It is more complex than a login dialog, because ! it maintains two states and two corresponding views: "not logged in" and "logged in". ! This is a <link href="http://www.superinterface.com/strutsdialog/logincomponent.html">login component</link>. ! After user successfully logs in, login component displays page corresponding to "logged in" ! state, which shows user information. Whenever logged-in user navigates to this component, ! the latter shows user's information.</p> <p>What if we want to embed login component in a complex web page? For example, see *************** *** 46,50 **** There is a small login form in the upper right corner of the home page. After you log in, the content of the form changes and shows your login name and logout button. This ! login form, embedded into master page, is an example of <em>login control</em>.</p> </section> --- 46,51 ---- There is a small login form in the upper right corner of the home page. After you log in, the content of the form changes and shows your login name and logout button. This ! login form, embedded into master page, is an example of ! <link href="http://www.superinterface.com/strutsdialog/logincontrol.html">login control</link>.</p> </section> *************** *** 55,61 **** library. SelectAction has the following features:</p> <ul> ! <li>works uniformly with pushbuttons and with image buttons;</li> ! <li>Uses <code>name</code> attribute of <code><html:button></code> tag instead of <code>value</code> ! attribute, so button caption can be set to any arbitrary value, and can be changed at runtime.</li> </ul> </section> --- 56,61 ---- library. SelectAction has the following features:</p> <ul> ! <li>works uniformly with pushbuttons, image buttons and regular links;</li> ! <li>allows to set arbitrary button caption and to change it at runtime.</li> </ul> </section> *************** *** 63,68 **** <section id="dialogaction"> <title>DialogAction: handles component state and renders a view</title> ! <p><link href="dialogaction.html">DialogAction</link> adds the following capabilities to ! event dispatching features of SelectAction:</p> <ul> <li>processing of initialization event;</li> --- 63,73 ---- <section id="dialogaction"> <title>DialogAction: handles component state and renders a view</title> ! <p><link href="dialogaction.html">DialogAction</link> allows creating robust ! web components and web controls, which enhibit ! friendly user experience, react properly to Refresh, Back and Forward buttons, ! and do not cause implicit double submits or annoying POSTDATA messages.</p> ! ! <p><code>DialogAction</code> adds the following capabilities to event dispatching ! features of SelectAction:</p> <ul> <li>processing of initialization event;</li> *************** *** 72,79 **** <li>two-phase input processing (using POST-redirect-GET pattern)</li> </ul> - - <p>DialogAction allows creating robust web components and web controls, which enhibit - friendly user experience, react properly to Refresh, Back and Forward buttons, - and do not cause implicit double submits or annoying POSTDATA messages.</p> </section> --- 77,80 ---- *************** *** 82,91 **** <title>CRUDAction: simplifies CrUD operations</title> <p><link href="crudaction.html">CRUDAction</link> is a more specific kind of action class, ! which implements all operations needed to manipulate a business object (BO), also called an ! <code>item</code>: create new item, duplicate existing item, edit, view and delete item.</p> <p>A very common use case is browsing a list of items, then selecting one item and performing ! different CRUD operations on it. CRUDAction can handle this use case with grace. It can implement ! handling of both item list and CRUD operations as one web component.</p> </section> --- 83,93 ---- <title>CRUDAction: simplifies CrUD operations</title> <p><link href="crudaction.html">CRUDAction</link> is a more specific kind of action class, ! which implements all operations needed to manipulate business data, nested business object (BO), ! or nested value object (VO) also called an <code>item</code>. This action allows to create ! new item, duplicate existing item, edit, view, clear and delete item.</p> <p>A very common use case is browsing a list of items, then selecting one item and performing ! different operations on it. CRUDAction can handle this use case with grace. It is possible to ! implement handling of both item list and CRUD operations as one web component.</p> </section> Index: selectaction-sample.xml =================================================================== RCS file: /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs/selectaction-sample.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** selectaction-sample.xml 11 Jul 2005 07:42:35 -0000 1.4 --- selectaction-sample.xml 22 Jul 2005 01:38:00 -0000 1.5 *************** *** 35,40 **** protected Map getKeyMethodMap() { Map map = new HashMap(); ! map.put("app-submit-button-add", "add"); ! map.put("app-submit-button-delete", "delete"); return map; } --- 35,40 ---- protected Map getKeyMethodMap() { Map map = new HashMap(); ! map.put(getInitKey()+"-ADD", "add"); ! map.put(getInitKey()+"-DELETE", "delete"); return map; } *************** *** 91,101 **** <action-mappings> <action path="/selectaction" ! type = "org.superinterface.samples.struts.selectaction.SelectActionTest" ! name = "dummyForm" ! scope = "request" ! parameter = "app-submit"> <forward name = "addpage" path="/selectadd.html"/> <forward name = "deletepage" path="/selectdelete.html"/> - <forward name = "cancelpage" path="/selectcancel.html"/> <forward name = "unspecifiedpage" path="/selectunspecified.html"/> </action> --- 91,98 ---- <action-mappings> <action path="/selectaction" ! type = "acme.SelectActionTest" ! name = "dummyForm"> <forward name = "addpage" path="/selectadd.html"/> <forward name = "deletepage" path="/selectdelete.html"/> <forward name = "unspecifiedpage" path="/selectunspecified.html"/> </action> *************** *** 113,120 **** <form action="http://localhost:8080/strutsdialog/selectaction.do" method="post"> ! <input type="submit" name="app-submit-button-add" value="Add button" /><br><br> ! <input type="submit" name="app-submit-button-delete" value="Delete button fancy caption" /><br><br> ! <input type="submit" name="app-submit-button-unk" value="No corresponding handler (exception)" /><br><br> ! <input type="submit" name="no-prefix" value="Does not start with prefix (unspecified)" /> </form> --- 110,117 ---- <form action="http://localhost:8080/strutsdialog/selectaction.do" method="post"> ! <input type="submit" name="DIALOG-EVENT-ADD" value="Add button" /><br><br> ! <input type="submit" name="DIALOG-EVENT-DELETE" value="Delete button fancy caption" /><br><br> ! <input type="submit" name="DIALOG-EVENT-unknown" value="No corresponding handler (exception)" /><br><br> ! <input type="submit" name="some-garbage" value="Does not start with prefix (unspecified)" /> </form> Index: selectaction.xml =================================================================== RCS file: /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs/selectaction.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** selectaction.xml 29 Jun 2005 22:51:33 -0000 1.3 --- selectaction.xml 22 Jul 2005 01:38:00 -0000 1.4 *************** *** 9,34 **** <section id="overview"> <title>Overview</title> ! <p>SelectAction is an abstract <strong>Action</strong> that dispatches an HTTP form submission event ! to a handler method. This class is an extension of standard DispatchAction and has the following ! features:</p> <ul> ! <li>works uniformly with pushbuttons and with image buttons;</li> ! <li>Uses <code>name</code> attribute of <code><html:button></code> tag instead of <code>value</code> ! attribute, so button caption can be set to any arbitrary value, and can be changed at runtime.</li> </ul> ! <p>The concrete subclass of SelectAction must define a map, which correlates submit button names with ! method names. The subclass must also define the handler methods themselves. Each method must have ! the same signature as <code>Action.execute</code> method. Subclass should not redefine <code>execute</code> ! method.</p> ! <p>Using <code>name</code> attribute has a flip side: during reset/populate/validate process, ! Struts assigns request values to corresponding properties of a form bean. Thus, button keys must be ! named differently from the properties of a form bean. Also, the dispatch action must recognize situation ! when no submit buttons were activated.</p> ! <p>Therefore, all submit buttons use a prefix in their name. The prefix is specified by <code>parameter</code> ! property of the ActionMapping. Make sure that you do not use periods in the prefix and in actual button names, ! or Struts will try to search and set the nested property of a form bean, and will likely throw an exception.</p> </section> --- 9,48 ---- <section id="overview"> <title>Overview</title> ! <p><code>SelectAction</code> is an abstract Struts <strong>Action</strong> ! that dispatches a browser event to a handler method. This class allows ! to process a form submission using either regular submit button or an image ! button. It works with regular links as well.</p> ! <ul> ! <li>Processes submit events (POST) or link events (GET).</li> ! <li>Handles pushbuttons, image buttons and regular links in ! universal fashion.</li> ! <li>Does not use <code>parameter</code> attribute of action mapping.</li> ! <li>Allows to set an arbitrary caption for a pushbutton.</li> ! <li>Button caption can be easily changed at runtime.</li> </ul> + </section> ! <section id="details"> ! <title>Technical Details</title> ! <p>Unlike <code>DispatchAction</code> and <code>LookupDispatchAction</code> ! classes, which correlate <code>value</code> attribute of <code>submit</code> ! form element with name of a handler method, this class uses <code>name</code> ! attribute. This allows to display a user-friendly caption on a submit button ! and to change button caption without redeployment.</p> ! <p>The subclass must define a map, which correlates event names with method ! names, and handler methods themselves. Events names must be different from ! names of action form properties. Each method must have the same signature ! as <code>execute</code> method.</p> ! <p>By definition, an event is a request parameter, which starts from ! a known prefix. The prefix is specified in <code>getInitKey</code> method ! and can be redefined in a subclass. Default prefix is "DIALOG-EVENT".</p> ! ! <p>If you decide to redifine the event prefix, make sure that it does not ! contain periods. Also, do not use periods for specific event names. Struts ! may throw an exception taking the name for nested property and trying ! to set its value.</p> </section> *************** *** 37,94 **** <section id="example"> <title>Usage</title> ! <p>The action should be configured in <code>struts‑config.xml</code> ! file like this:</p> ! ! <source> ! <action path="/test" ! type="org.example.MyAction" ! parameter="<strong>myapp-submit</strong>"</source> ! ! <p>where:</p> ! ! <ul> ! <li><code>org.example.MyAction</code> extends <code>SelectAction</code>;</li> ! <li><code>parameter</code> contains prefix of your choice for all submit buttons on an HTML form.</li> ! </ul> ! ! <p>The names of submit elements should start from the aforementioned prefix, for example:</p> ! ! <source> ! <form action="http://myhost/myapp/test.do" method="post"> ! <input type="submit" name="<strong>myapp-submit</strong>-button-add" value="Add button"/> ! <input type="submit" name="<strong>myapp-submit</strong>-button-delete" value="Fancy Delete button"/> ! <input type="image" name="<strong>myapp-submit</strong>-button-login" src="login.gif" value="Log In"/> ! ! </form> ! </source> ! ! <p>The concrete subclass of SelectAction class must implement <code>getKeyMethodMap</code> method, ! which defines mapping from button names to method handlers, like this:</p> ! ! <source> ! protected Map getKeyMethodMap() { ! Map map = new HashMap(); ! map.put("<strong>myapp-submit</strong>-button-add", "add"); ! map.put("<strong>myapp-submit</strong>-button-delete", "delete"); ! map.put("<strong>myapp-submit</strong>-button-login", "login"); ! return map; ! }</source> ! ! <p>Notice, that above mapping is different from <code>LookupDispatchAction</code> mapping, because no ! property files are involved, and button caption can be changed without rebuilding an application.</p> ! <p>The subclass also must implement the handler methods, for example, this is a login method ! handler:</p> ! <source> ! public ActionForward login(ActionMapping mapping, ! ActionForm form ! HttpServletRequest request, ! HttpServletResponse response) ! throws IOException, ServletException { ! // do login return mapping.findForward("success"); ! }</source> </section> --- 51,94 ---- <section id="example"> <title>Usage</title> ! <p>To use <code>SelectAction</code>, subclass it, implement <code>getKeyMethodMap</code> ! method, and map specific events to method handlers. Event name must start ! with event prefix:</p> ! <source> ! protected Map getKeyMethodMap() { ! Map map = new HashMap(); ! map.put(getInitKey()+"-ADD", "add"); ! map.put(getInitKey()+"-DELETE", "delete"); ! map.put(getInitKey()+"-CREATE", "create"); ! map.put(getInitKey()+"-LOGIN", "login"); ! return map; ! } ! </source> ! <p>Remember that standard <code><html:cancel/></code> button is implicitly ! mapped to <code>cancelled</code> method. You need to implement this method ! to receive cancel events.</p> ! <p>Implement handler methods themselves, for example:</p> ! <source> ! public ActionForward add(ActionMapping mapping, ! ActionForm form, ! HttpServletRequest request, ! HttpServletResponse response) ! throws IOException, ServletException { ! // do add return mapping.findForward("success"); ! } ! </source> + <p>Use event names in <code>name</code> attribute of submit buttons, or + as query paramter for regular links:</p> + <source> + <form action="/selecttest.do" method="post"> + <input type="submit" name="<strong>DIALOG-EVENT</strong>-ADD" value="Add item"/> + <input type="submit" name="<strong>DIALOG-EVENT</strong>-DELETE" value="Delete item"/> + </form> + <input type="image" name="<strong>DIALOG-EVENT</strong>-LOGIN" src="login.gif" value="Log In"> + <a href="/selecttest.do?<strong>DIALOG-EVENT</strong>-CREATE">Create item</a> + </source> </section> *************** *** 96,100 **** <title>Notes</title> <ul> ! <li>Subclass should not redefine <code>execute</code> method.</li> <li>If duplicate values exist for the keys returned by <code>getKeyMethodMap</code>, the first one will be returned. If no corresponding key is found then an exception will be thrown.</li> --- 96,100 ---- <title>Notes</title> <ul> ! <li>Subclass does not have to redefine <code>execute</code> method.</li> <li>If duplicate values exist for the keys returned by <code>getKeyMethodMap</code>, the first one will be returned. If no corresponding key is found then an exception will be thrown.</li> |
From: <jm...@us...> - 2005-07-22 01:38:38
|
Update of /cvsroot/struts/struts-site/src/documentation/resources/images In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7826/src/documentation/resources/images Modified Files: selectaction.gif Log Message: Index: selectaction.gif =================================================================== RCS file: /cvsroot/struts/struts-site/src/documentation/resources/images/selectaction.gif,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvs6gV15z and /tmp/cvsbL0ulr differ |
From: <jm...@us...> - 2005-07-11 07:47:03
|
Update of /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27169/src/documentation/content/xdocs/strutsdialogs Modified Files: index.xml Log Message: Index: index.xml =================================================================== RCS file: /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs/index.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** index.xml 11 Jul 2005 06:07:37 -0000 1.7 --- index.xml 11 Jul 2005 07:46:53 -0000 1.8 *************** *** 105,110 **** <section id="download"> <title>Download</title> ! <p>Download Struts Dialogs 1.2 version from ! <link href="http://sourceforge.net/project/showfiles.php?group_id=49385&release_id=338164">SourceForge website</link>.</p> </section> --- 105,110 ---- <section id="download"> <title>Download</title> ! <p>Download Struts Dialogs version 1.21 from ! <link href="http://sourceforge.net/project/showfiles.php?group_id=49385&release_id=341239">SourceForge website</link>.</p> </section> |
Update of /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25127/src/documentation/content/xdocs/strutsdialogs Modified Files: dialogaction-logincomponentsample.xml dialogaction-logincontrolsample.xml selectaction-sample.xml wizardaction.xml Log Message: Index: dialogaction-logincomponentsample.xml =================================================================== RCS file: /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs/dialogaction-logincomponentsample.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** dialogaction-logincomponentsample.xml 5 Jul 2005 07:54:00 -0000 1.2 --- dialogaction-logincomponentsample.xml 11 Jul 2005 07:42:30 -0000 1.3 *************** *** 104,108 **** <source> <action path="/logincomponent" ! type = "package net.sf.dialogs.samples.dialogloginaction.DialogLoginActionComponent" name = "dialogloginform" scope = "session" --- 104,108 ---- <source> <action path="/logincomponent" ! type = "package net.jspcontrols.dialogs.samples.dialogloginaction.DialogLoginActionComponent" name = "dialogloginform" scope = "session" Index: dialogaction-logincontrolsample.xml =================================================================== RCS file: /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs/dialogaction-logincontrolsample.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** dialogaction-logincontrolsample.xml 5 Jul 2005 07:54:00 -0000 1.4 --- dialogaction-logincontrolsample.xml 11 Jul 2005 07:42:30 -0000 1.5 *************** *** 97,101 **** <action path="/embeddedmasterpage" forward="/embedded-masterpage.jsp"/> <action path="/embeddedchild" ! type = "net.sf.dialogs.samples.childaction.EmbeddedAction name = "dialogloginform" scope = "session" --- 97,101 ---- <action path="/embeddedmasterpage" forward="/embedded-masterpage.jsp"/> <action path="/embeddedchild" ! type = "net.jspcontrols.dialogs.samples.childaction.EmbeddedAction name = "dialogloginform" scope = "session" Index: selectaction-sample.xml =================================================================== RCS file: /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs/selectaction-sample.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** selectaction-sample.xml 29 Jun 2005 22:51:33 -0000 1.3 --- selectaction-sample.xml 11 Jul 2005 07:42:35 -0000 1.4 *************** *** 17,21 **** <source> ! import net.sf.dialogs.actions.SelectAction; import javax.servlet.ServletException; --- 17,21 ---- <source> ! import net.jspcontrols.dialogs.actions.SelectAction; import javax.servlet.ServletException; Index: wizardaction.xml =================================================================== RCS file: /cvsroot/struts/struts-site/src/documentation/content/xdocs/strutsdialogs/wizardaction.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** wizardaction.xml 11 Jul 2005 06:07:37 -0000 1.1 --- wizardaction.xml 11 Jul 2005 07:42:35 -0000 1.2 *************** *** 217,221 **** <source> <action path="/wizardaction" ! type = "net.sf.dialogs.actions.wizard.WizardAction" name = "wizardform" scope = "session" --- 217,221 ---- <source> <action path="/wizardaction" ! type = "net.jspcontrols.dialogs.actions.wizard.WizardAction" name = "wizardform" scope = "session" |
Update of /cvsroot/struts/dialogs/war In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14553/war Added Files: crudaction-lite-edit.jsp crudaction-lite-list.jsp crudaction-lite-noedit.jsp logincomponent.html logincontrol.html logindialog.html Log Message: --- NEW FILE: crudaction-lite-edit.jsp --- <!-- Struts Dialogs Example Author: Michael Jouravlev, 2004-2005 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title>CRUDAction create/edit</title> </head> <body> <h2><bean:write name="crudform" property="itemHeader"/></h2> <!-- Standard Struts error handling --> <logic:messagesPresent> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> <br> </logic:messagesPresent> <html:form action="/crudactionlite.do"> <table border="1" width="300" > <tr> <td align="left" bgcolor="#FF9966">Item ID</td> <td><bean:write name="crudform" property="itemId"/></td> </tr> <tr> <td align="left" bgcolor="#FF9966">String value</td> <td><html:text name="crudform" property="stringValue" size="15" tabindex="1"/></td> </tr> <tr> <td align="left" bgcolor="#FF9966">Num value</td> <td><html:text name="crudform" property="intValue" size="15" tabindex="1"/></td> </tr> <tr> <td colspan="2" align="right" bgcolor="#FF9966"> <INPUT type="submit" size="10" name="DIALOG-EVENT-CANCEL" value="Cancel"> <INPUT type="submit" size="10" name="DIALOG-EVENT-SAVE" value="Save Changes"> </td> </tr> </table> </html:form> </body> </html:html> --- NEW FILE: crudaction-lite-list.jsp --- <%@ page import="java.util.ArrayList, net.jspcontrols.dialogs.samples.crudaction.CRUDFormSample, net.jspcontrols.dialogs.samples.crudaction.business.BusinessObj" %> <!-- PRG pattern example Author: Michael Jouravlev, 2004 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html locale="true"> <head> <title>Item List</title> <meta HTTP-EQUIV="Pragma" content="no-cache"> <meta HTTP-EQUIV="Expires" content="-1"> <html:base/> </head> <!-- Standard Struts error handling --> <table border="0" cellspacing="0" cellpadding="0" width=600> <tr> <td color="red"><html:errors/></td> </tr> </table> <h3>Item List</h3> <table border="1" width="100%"> <tr> <th align="left" bgcolor="CC9966">ID</th> <th align="left" bgcolor="CC9966">Str Value</th> <th align="left" bgcolor="CC9966">Int Value</th> <th align="left" bgcolor="CC9966" colspan="4">Operation</th> </tr> <% synchronized(session) { ArrayList items = (ArrayList) session.getAttribute(CRUDFormSample.CRUD_LIST_KEY); // Create test sample of three items if (items == null) { items = new ArrayList(); items.add(new BusinessObj()); items.add(new BusinessObj()); items.add(new BusinessObj()); session.setAttribute(CRUDFormSample.CRUD_LIST_KEY, items); } } %> <!-- Show item list --> <logic:iterate id="item" name="crud-item-list" type="net.jspcontrols.dialogs.samples.crudaction.business.BusinessObj"> <html:form action="/crudactionlite.do"> <tr> <!-- Item ID --> <td><bean:write name="item" property="itemId"/></td> <!-- Item Value --> <td><bean:write name="item" property="stringValue"/></td> <!-- Item Status --> <td><bean:write name="item" property="intValue"/></td> <!-- View Item --> <td> <html:submit property="DIALOG-EVENT-INIT-DUPLICATE" value="Duplicate Item"/> </td> <!-- View Item --> <td> <html:submit property="DIALOG-EVENT-INIT-VIEW" value="View Item"/> </td> <!-- Edit Item --> <td> <html:submit property="DIALOG-EVENT-INIT-UPDATE" value="Update Item"/> </td> <!-- Delete Item --> <td> <html:submit property="DIALOG-EVENT-DELETE" value="Delete Item"/> </td> </tr> <html:hidden name="item" property="itemId"/> </html:form> </logic:iterate> </table> <br/> <html:form action="/crudactionlite.do"> <html:submit property="DIALOG-EVENT-INIT-CREATE" value="Create New Item"/> </html:form> </html:html> --- NEW FILE: crudaction-lite-noedit.jsp --- <!-- Struts Dialogs Example Author: Michael Jouravlev, 2004-2005 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title>CRUDAction View</title> </head> <body> <h2>View item</h2> <!-- Standard Struts error handling --> <logic:messagesPresent> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> <br> </logic:messagesPresent> <html:form action="/crudactionlite.do"> <table border="1" width="300" > <tr> <td align="left" bgcolor="#FF9966">Item ID</td> <td><bean:write name="crudform" property="itemId"/></td> </tr> <tr> <td align="left" bgcolor="#FF9966">String value</td> <td><bean:write name="crudform" property="stringValue"/></td> </tr> <tr> <td align="left" bgcolor="#FF9966">Num value</td> <td><bean:write name="crudform" property="intValue"/></td> </tr> <tr> <td colspan="2" align="right" bgcolor="#FF9966"> <INPUT type="submit" size="10" name="DIALOG-EVENT-CLOSE" value="Close"> </td> </tr> </table> </html:form> </body> </html:html> --- NEW FILE: logincomponent.html --- <!-- Struts Dialogs Example Author: Michael Jouravlev, 2004-2005 --> <html> <head> <title>Struts Dialogs Examples</title> <meta name="description" content="Struts Dialogs Examples" /> <meta name="keywords" content="Struts Dialogs,Examples,Samples" > </head> <blockquote> <h2>DialogAction, login component</h2> <p>Login component is an extension of login dialog. It not only allows to log in, it also tracks user's login status. Whenever a logged-in user navigates to login component location, the component displays user information and allows to log out.</p> <a href="dialogloginactioncontrol.do?DIALOG-EVENT-INIT=dummy">Login component (init)</a><br> <a href="dialogloginactioncontrol.do">Login component (current view)</a> <br> </blockquote> </html> --- NEW FILE: logincontrol.html --- <!-- Struts Dialogs Example Author: Michael Jouravlev, 2004-2005 --> <html> <head> <title>Struts Dialogs Examples</title> <meta name="description" content="Struts Dialogs Examples" /> <meta name="keywords" content="Struts Dialogs,Examples,Samples" > </head> <blockquote> <h2>DialogAction, embedded login control</h2> <p>Login control is a JSP component. It is embedded in the master page using simple JSP include: </p> <pre> <%@ page contentType="text/html;charset=UTF-8" language="java" %> ... <TABLE> ... <TR> <TD> <jsp:include page="/logincomponent.do"/> </TD> </TR> ... </TABLE> </pre> <p>Notice, that user's input is submitted directly to the control, therefore there is no need in central controller or something like portlet container to collect requests and then to dispatch them to controls, using separate API.</p> <p>JSP control may not even know that it was embedded into master page. Java code for this embedded JSP control is not changed comparing to standalone login component.</p> <a href="http://www.superinterface.com/strutsdialog/embeddedmasterpage-tomcat.do">Live demo of embedded login control</a><br> <br> </blockquote> </html> --- NEW FILE: logindialog.html --- <!-- Struts Dialogs Example Author: Michael Jouravlev, 2004-2005 --> <html> <head> <title>Struts Dialogs Examples</title> <meta name="description" content="Struts Dialogs Examples" /> <meta name="keywords" content="Struts Dialogs,Examples,Samples" > </head> <blockquote> <h2>DialogAction, login dialog</h2> <p>DialogAction allows creating robust web components and web controls, which enhibit friendly user experience, react properly to Refresh, Back and Forward buttons, and do not cause implicit double submits or annoying POSTDATA messages.</p> <p>DialogAction adds the following capabilities to event dispatching features of SelectAction:</p> <ul> <li>handles initialization event;</li> <li>buffers error messages;</li> <li>renders view corresponding to component state;</li> <li>stores state (in an action form);</li> <li>separates input and output processes (using POST-redirect-GET pattern)</li> </ul> <a href="dialogloginaction.do?DIALOG-EVENT-INIT=dummy">Login Dialog (init)</a><br> <a href="dialogloginaction.do">Login Dialog (current view)</a> <br> </blockquote> </html> |
Update of /cvsroot/struts/dialogs/src/net/jspcontrols/collab In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14553/src/net/jspcontrols/collab Removed Files: MasterPageAction.java MyForwardAction.java TabControlAction.java TabControlActionInput.java TabControlActionView.java Log Message: --- MasterPageAction.java DELETED --- --- MyForwardAction.java DELETED --- --- TabControlAction.java DELETED --- --- TabControlActionInput.java DELETED --- --- TabControlActionView.java DELETED --- |