Mark Am I able to simply overwrite my existing JSP with what you have below? Because I tried to compile it in Netbeans and got:
ProductList.jsp [-1:-1] End of content reached while more parsing required: tag nesting error? Errors compiling ProductList. Scott ----- Original Message ----- From: "Mark R. Diggory" <[EMAIL PROTECTED]> To: "Tag Libraries Users List" <[EMAIL PROTECTED]> Sent: Sunday, February 16, 2003 9:34 PM Subject: Re: Tag List > Scott, > > Is this kinda what you mean? Are you trying to add the > search/edit/remove/add functionality to the jsp page? This could easily > be captured with forms which submit back to the jsp plus a choose block > to designate which operation is being performed. I bet this'll really > irk those Struts/Maveric MVC folks out there with its use of the JSP > page as both the Controller and View. But it is relatively easy to > accomplish using JSTL without such "heavy" MVC frameworks. > > Here is the example: > > <%@page contentType="text/html"%> > > <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> > <%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %> > > <sql:setDataSource var="productDS" > url="jdbc:postgresql://localhost:5432/recruitment" > driver="org.postgresql.Driver" > user="scott" password="" /> > > <%-- conditional logic and sql manipulation --%> > <c:choose> > <c:when test="${request.operation == 'Add'}"> > <sql:update>... sql tags to support the add request > </c:when> > <c:when test="${request.operation == 'Remove'}"> > <sql:update>... sql tags to support the remove request > </c:when> > <c:when test="${request.operation == 'Edit'}"> > <sql:update>... sql tags to support the edit request > </c:when> > </c:choose> > > <%-- query to load the html page contents --%> > <c:choose> > <c:when test="${request.operation == 'Search'}"> > <%-- EXPAND YOUR QUERY WITH SEARCH TERMS HERE --%> > <%-- > use some conditional logic on the request > parameters to deside how the query should > be augmented > --%> > <sql:query var="productQuery" dataSource="${productDS}" > > .... > </sql:query> > </c:when> > <c:otherwise> > <sql:query var="productQuery" dataSource="${productDS}" > > SELECT * FROM CD > </sql:query> > </c:otherwise> > </c:choose> > > <%-- page with forms to add/edit/remove the contents --%> > <html> > <head><title>CD Catalog List</title></head> > <body> > <h1> CD Catalog List </h1> > > <form method=get> > <TD><input type=text name=cdId value=""></TD> > <TD><input type=text name=cdTitle value=""></TD> > <TD><input type=text name=cdArtist value=""></TD> > <TD><input type=text name=cdCountry value=""></TD> > <TD><input type=text name=cdPrice value=""></TD> > <TD><input type=submit name=operation value="Search"></TD> > </form> > > <TABLE border=1> > <TR> > <TH>ID</TH> > <TH>CD Title</TH> > <TH>Artist</TH> > <TH>Country</TH> > <TH>Price</TH> > <TH colspan=2>Command</TH> > </TR> > > <c:forEach var="row" items="${productQuery.rows}"> > <TR> > <form method=get> > <TD><input type=text name=cdId value="<c:out value='${row.ID}'/>"></TD> > <TD><input type=text name=cdTitle value="<c:out value='${row.CDTITLE}'/>"></TD> > <TD><input type=text name=cdArtist value="<c:out value='${row.ARTIST}'/>"></TD> > <TD><input type=text name=cdCountry value="<c:out value='${row.COUNTRY}'/>"></TD> > <TD><input type=text name=cdPrice value="<c:out value='${row.PRICE}'/>"></TD> > <TD><input type=submit name=operation value="Edit"></TD> > </form> > <TD> > <form method=get> > <input type=hidden name=cdId value="<c:out value='${row.ID}'/>"> > <input type=submit name=operation value="Remove"> > </form> > </TD> > </TR> > </c:forEach> > <TR><TD>Add new entry</TD></TR> > <TR> > <form method=get> > <TD><input type=text name=cdId value="..."></TD> > <TD><input type=text name=cdTitle value="..."></TD> > <TD><input type=text name=cdArtist value="..."></TD> > <TD><input type=text name=cdCountry value="..."></TD> > <TD><input type=text name=cdPrice value="..."></TD> > <TD colspan=2><input type=submit name=operation value="Add"></TD> > </form> > </TR> > </TABLE> > </body> > </html> > > If you want to encapsulate the functions for adding/removing/editing > the content and not have them in this "View/Controller", you could > include them from separate JSP's or Servlets. or likewise submit the > forms directly to those JSP's or Servlets and then redirect back to > this jsp once the work was done. > > > > It stays pretty independent and light without too much dependency on > any particular framework other than the JSP/JSTL tags. Which results in > less research and development effort to accomplish the same task. All > you need to know is JSP/JSTL. > > > > -Mark > > > > > > > Eddie Barna wrote: > > >You can pass the value from your search form to the page which you have > >listed in your email. For example: You have a search form with a text box > >titled search > > > >Here's what the page that queries the db would look like now > > > > > > > >><sql:query var="productQuery" dataSource="${productDS}" > > >> SELECT * FROM CD WHERE CDTITLE = ? > >> > >> > ><sql:param value="${param.search}"/> > > > > > >></sql:query> > >> > >> > >You can also expand on this by using the OR statement in your query. For > >example: > > > > > > > >><sql:query var="productQuery" dataSource="${productDS}" > > >> SELECT * FROM CD WHERE CDTITLE = ? OR ARTIST = ? > >> > >> > ><sql:param value="${param.search}"/> > ><sql:param value="${param.search}"/> > > > > > >></sql:query> > >> > >> > > > >For every condition in your query you must add a <sql;param/> tag. > > > >Hope this helps. I really do recomend that you get Shawn Bayern's book > >titled JSTL in Action. It explains all this in great detail, plus > >everything else. > > > > > >----- Original Message ----- > >From: "Scott Taylor" <[EMAIL PROTECTED]> > >To: <[EMAIL PROTECTED]> > >Sent: Friday, February 14, 2003 9:31 AM > >Subject: Tag List > > > > > > > > > >>I am trying to find a list of tags to help me modify the CD Shop Cart web > >>application from Sun One. > >> > >>For example, how do I insert tags that provide a search form (and entry > >>form) rather than simply list everything. > >> > >>Here is what the code looks like so far: > >> > >><%@page contentType="text/html"%> > >><html> > >><head><title>CD Catalog List</title></head> > >><%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> > >><%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %> > >><body> > >><h1> CD Catalog List </h1> > >><sql:setDataSource var="productDS" > >> url="jdbc:postgresql://localhost:5432/recruitment" > >> driver="org.postgresql.Driver" > >> user="scott" password="" /> > >> > >><sql:query var="productQuery" dataSource="${productDS}" > > >> SELECT * FROM CD > >></sql:query> > >> > >><TABLE border=1> > >> <TR> > >> <TH>ID</TH> > >> <TH>CD Title</TH> > >> <TH>Artist</TH> > >> <TH>Country</TH> > >> <TH>Price</TH> > >> </TR> > >> > >><c:forEach var="row" items="${productQuery.rows}"> > >> <TR> > >> <TD><c:out value="${row.ID}"/></TD> > >> <TD><c:out value="${row.CDTITLE}"/></TD> > >> <TD><c:out value="${row.ARTIST}"/></TD> > >> <TD><c:out value="${row.COUNTRY}"/></TD> > >> <TD><c:out value="${row.PRICE}"/></TD> > >> <TD> > >> <form method=get action="ShopCart.jsp"> > >> <input type=hidden name=cdId value="<c:out value="${row.ID}"/>"> > >> <input type=hidden name=cdTitle value="<c:out > >>value="${row.CDTITLE}"/>"> > >> <input type=hidden name=cdPrice value="<c:out > >> > >> > >value="${row.PRICE}"/>"> > > > > > >> <input type=submit name=operation value=Add> > >> </form> > >> </TD> > >> </TR> > >></c:forEach> > >></TABLE> > >></body> > >></html> > >> > >>Regards > >> > >>Scott > >> > >> > >>--------------------------------------------------------------------- > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
