It's not a secret anymore!*
The moose likes JSP and the fly likes Generating a Dropdown from a bean to a JSP Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » JSP
Bookmark "Generating a Dropdown from a bean to a JSP" Watch "Generating a Dropdown from a bean to a JSP" New topic
Author

Generating a Dropdown from a bean to a JSP

Stewart Williams
Greenhorn

Joined: Jul 15, 2002
Posts: 4
I am having a problem with generating a JSP form that keeps the data after validation has detected bad user data. I have attempted and failed. I created a bean that generates a dropdown with the correct data, but I can't seem to get the data to keep. I believe the reason is because it is instantiating another bean and not the one the jsp had generated. Below is the code for the bean and Jsp

JSP
<%@ taglib uri='tlds/update.tld' prefix='query' %>
<%@ page import="java.util.*" %>
<jsp:useBean id="formHandler" class="user.FormBean" scope="request"/>
<jsp:setProperty name="formHandler" property="*" />

<HTML>
<HEAD>
<TITLE>FSMO - (Placement Input Screen)</TITLE>
<LINK href="styles/style.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY>
<H2>Create New Placement</H2>

<%//Formbean DD=new FormBean();%>

<FORM action='process.jsp' method='POST'>
<TABLE border="0" CELLPADDING=10 CELLSPACING=1 BGCOLOR="">
<TR>
<TD>Enter Date of Placement :<br><INPUT size="10" maxlength="10" type="text" name="DOP" value=<%=formHandler.getDATEOFPLACEMENT()%>></TD>
<TD><query ropDown>Facility</query ropDown></TD>
</TR>
</TABLE>

<TABLE BORDER=1 RULES=NONE FRAME=BOX CELLPADDING=10 CELLSPACING=1 BGCOLOR="">
<strong>Child Data</strong>
<TR>
<TD>Enter Child's First Name :<br> <INPUT size="10" maxlength="20" type="text" name="CFNAME" value=<%=formHandler.getCFNAME()%>></TD>
<TD>Enter Child's Last Name :<br> <INPUT size="10" maxlength="30" type="text" name="CLNAME" value=<%=formHandler.getCLNAME()%>></TD>
<TD>Enter SS# : <br> <INPUT size="10" maxlength="9" type="text" name="CSSN"value=<%=formHandler.getSSN()%>> </TD>
<TD><query ropDown>Race</query ropDown></TD><TD></TD>

BEAN
public void queryRace() throws JspException, IOException
{
try
{con=DriverManager.getConnection(host,userName,passWord);
stmt= con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM RACE GROUP BY RACE");
pageContext.getOut().print("Select Race:<br> ");
pageContext.getOut().print("<select name=RACEID>");int i=8;
while (rs.next())
{ int RaceID = rs.getInt("RACEID");
String Race = rs.getString("RACE");
if (RACEID !="7")
{pageContext.getOut().print("<option SELECTED value=" + PARAM[i][i+1] + " size='10'>" + PARAM[i][i]+ " </option>");}
else{pageContext.getOut().print("<option value=" + PARAM[i][i+1] + " size='10'>" + PARAM[i][i]+ " </option>");}
}
pageContext.getOut().print("</select>");

con.close();
}
catch(Exception e) { pageContext.getOut().print("<h1>Invalid Username/password</h1>" + e.getMessage());
throw new IOException(e.getMessage());}
}

I used a tag to call dropdown. Please help.

Thanks
Merrill Higginson
Ranch Hand

Joined: Feb 15, 2005
Posts: 4864
This question belongs in the JSP forum.

However, you might try changing the scope of your bean to "session", and then placing it in the session context before displaying the page. This way your data isn't lost when the page is displayed.


Merrill
Consultant, Sima Solutions
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24183
    
  34

Moving to the JSP forum.


[Jess in Action][AskingGoodQuestions]
Ben Souther
Sheriff

Joined: Dec 11, 2004
Posts: 13410

Stewart,

Two tips that should help you to get assistance more easily:
1.) If you're going to post more than a line or two of code, wrap the code in UBB tags. There is button in the edit screen that will help you to generate the tags. The UBB Code tags will preserve your indenting, making it much easier for us to read it.

2.) At the bottom left of the edit screen there is a checkbox for disabling smilies. This will keep your Dropdown tags from grinning at us.

Your bean is bound to 'request' scope. That means it will last for the duration of only one request. Subsequent requests will each create their own instance of the bean.

If you're interested, I have a DynamicSelectList example app at:
http://simple.souther.us/not-so-simple. It shows one way of dealing with select lists.
[ June 14, 2005: Message edited by: Ben Souther ]

Java API J2EE API Servlet Spec JSP Spec How to ask a question... Simple Servlet Examples jsonf
 
Don't get me started about those stupid light bulbs.
 
subject: Generating a Dropdown from a bean to a JSP
 
Similar Threads
Generating a Dropdown from a bean to a JSP
raw HTML in Mozilla
How to enable checkbox when checked in other checkbox dynamically
How to display values in my form if I have two textboxes of same name...
Getting the name of the requesting page