Pass Multiple Selections Values wihin a list box
I have a JSP form with a list/menu object on the page. It allows multiple section of values within the box.
The form field name is: TEST
I use an IDE Macromedia Dreamweaver Ultra Dev to write my JSP code and I am new to JSP. I understand I need to collect the values within an array using request.getParameterValues() however, I do not know where to to place the string. Help Please.
<-- CODE >
<%@ include file="../Connections/OracleCMT.jsp" %>
<%
// *** Edit Operations: declare variables
// set the form action variable
String MM_editAction = request.getRequestURI();
if (request.getQueryString() !=null && request.getQueryString().length() > 0){
MM_editAction +="?" + request.getQueryString();
}
// connection information
String MM_editDriver = null, MM_editConnection = null, MM_editUserName = null, MM_editPassword =null;
// redirect information
String MM_editRedirectUrl =null;
// query string to execute
StringBuffer MM_editQuery =null;
// boolean to abort record edit
boolean MM_abortEdit =false;
// table information
String MM_editTable = null, MM_editColumn = null, MM_recordId =null;
// form field information
String[] MM_fields = null, MM_columns =null;
%>
<%
// *** Insert Record: set variables
if (request.getParameter("MM_insert") !=null){
MM_editDriver= MM_OracleCMT_DRIVER;
MM_editConnection = MM_OracleCMT_STRING;
MM_editUserName= MM_OracleCMT_USERNAME;
MM_editPassword= MM_OracleCMT_PASSWORD;
MM_editTable ="CCM.TEST";
MM_editRedirectUrl ="results.jsp";
String MM_fieldsStr ="TEST|value";
String MM_columnsStr ="TEST|',none,''";
// create the MM_fields and MM_columns arrays
java.util.StringTokenizer tokens =new java.util.StringTokenizer(MM_fieldsStr,"|");
MM_fields =new String[tokens.countTokens()];
for (int i=0; tokens.hasMoreTokens(); i++) MM_fields[i] = tokens.nextToken();
tokens =new java.util.StringTokenizer(MM_columnsStr,"|");
MM_columns =new String[tokens.countTokens()];
for (int i=0; tokens.hasMoreTokens(); i++) MM_columns[i] = tokens.nextToken();
// set the form values
for (int i=0; i+1 < MM_fields.length; i+=2){
MM_fields[i+1] = ((request.getParameter(MM_fields[i])!=null)?(String)request.getParameter(MM_fields[i]):"");
}
// append the query string to the redirect URL
if (MM_editRedirectUrl.length() != 0 && request.getQueryString() !=null){
MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + request.getQueryString();
}
}
%>
<%
// *** Insert Record: construct a sql insert statement and execute it
if (request.getParameter("MM_insert") !=null){
// create the insert sql statement
StringBuffer MM_tableValues =new StringBuffer(), MM_dbValues =new StringBuffer();
for (int i=0; i+1 < MM_fields.length; i+=2){
String formVal = MM_fields[i+1];
String elem;
java.util.StringTokenizer tokens =new java.util.StringTokenizer(MM_columns[i+1],",");
String delim= ((elem = (String)tokens.nextToken()) !=null && elem.compareTo("none")!=0)?elem:"";
String altVal= ((elem = (String)tokens.nextToken()) !=null && elem.compareTo("none")!=0)?elem:"";
String emptyVal = ((elem = (String)tokens.nextToken()) !=null && elem.compareTo("none")!=0)?elem:"";
if (formVal.length() == 0){
formVal = emptyVal;
}else{
if (altVal.length() != 0){
formVal = altVal;
}elseif (delim.compareTo("'") == 0){// escape quotes
StringBuffer escQuotes =new StringBuffer(formVal);
for (int j=0; j < escQuotes.length(); j++)
if (escQuotes.charAt(j) =='\'') escQuotes.insert(j++,'\'');
formVal ="'" + escQuotes +"'";
}else{
formVal = delim + formVal + delim;
}
}
MM_tableValues.append((i!=0)?",":"").append(MM_columns[i]);
MM_dbValues.append((i!=0)?",":"").append(formVal);
}
MM_editQuery =new StringBuffer("insert into " + MM_editTable);
MM_editQuery.append(" (").append(MM_tableValues.toString()).append(") values (");
MM_editQuery.append(MM_dbValues.toString()).append(")");
if (!MM_abortEdit){
// finish the sql and execute it
Driver MM_driver = (Driver)Class.forName(MM_editDriver).newInstance();
Connection MM_connection = DriverManager.getConnection(MM_editConnection,MM_editUserName,MM_editPassword);
PreparedStatement MM_editStatement = MM_connection.prepareStatement(MM_editQuery.toString());
MM_editStatement.executeUpdate();
MM_connection.close();
// redirect with URL parameters
if (MM_editRedirectUrl.length() != 0){
response.sendRedirect(response.encodeRedirectURL(MM_editRedirectUrl));
}
}
}
%>

