Here is my jsp as it is .Employee id was used for example.In my application it is Submission_Id
which is used as the key.
Note:
The method is given below after the end of this JSP code.
SubmissionList.jsp
<%@ page contentType="text/html;charset=WINDOWS-1252"%>
<%@page import = "oracle.portal.provider.v1.*, oracle.portal.provider.v1.http.*, oracle.portal.utils.v1.*, java.sql.*, ccrspackage.*" %>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=WINDOWS-1252">
<META NAME="GENERATOR" CONTENT="Oracle JDeveloper">
<TITLE>
</TITLE>
</HEAD>
<BODY BGCOLOR = #FFCC00 FONT SIZE = "+2" >
<FORM ACTION = 'SubmissionList.jsp' method='post'>
<%
//retrieve the existing session
HttpSession Session= request.getSession(true);
CCRS OCCRS = null;
ConnectOConnect= null;
try
{
if (request.getMethod().equals("POST"))
{
if ( request.getParameter("Exit") != null)
{
response.sendRedirect("Default.jsp");
}
else
{
OCCRS= (CCRS)Session.getValue("OCCRS");
if (request.getParameter("Search") != null)
{
OCCRS.InitialSettingForSubmissionList();
}
else
{
OCCRS.CreatePageOfSubmissionList(request);
}
}
}
else
{
OConnect = (Connect)Session.getValue("OConnect");
OCCRS = new CCRS(OConnect);
OCCRS.InitialSettingForSubmissionList();
}
Session.putValue("OCCRS",OCCRS);
}
catch (Exception e)
{
OCCRS.ProcessError(e);
}
//MESSAGE (IF ANY)
out.println("<TABLE ALIGN=CENTER>");
out.println("<TR>");
out.println("<TD>");
out.println("<FONT COLOR = RED>");
out.println("<B>");
out.println(OCCRS.GetDisplayMessage());
out.println("</B>");
out.println("</FONT>");
out.println("</TD>");
out.println("</TR>");
out.println("</TABLE>");
if (OCCRS.GetShowRecord() == false)
{
String TempValue= "";
String TempSelected= "";
String TempText= "";
out.println("<TABLE ALIGN=CENTER>");
//Show all the drop down list
out.println("<TR>");
out.println("<TD>");
out.println("<FONT COLOR = BLACK>");
out.println("<B>");
out.println("Fiscal Year");
out.println("</B>");
out.println("</FONT>");
out.println("</TD>");
out.println("<TD>");
out.println("<SELECT name = 'Fiscal_Year' >");
while (OCCRS.NextItrScrFiscal_Year())
{
TempValue= OCCRS.GetItrScrFiscal_Year();
TempSelected= OCCRS.GetItrSelectedScrFiscal_Year();
out.println("<OPTION value = '" + TempValue + "' " + TempSelected + " >" + TempValue + "</OPTION>");
}
out.println("</SELECT>");
out.println("</TD>");
out.println("</TR>");
out.println("<TR>");
out.println("<TD>");
out.println("<FONT COLOR = BLACK>");
out.println("<B>");
out.println("Fiscal Period");
out.println("</B>");
out.println("</FONT>");
out.println("</TD>");
out.println("<TD>");
out.println("<SELECT name = 'Fiscal_Period' >");
while (OCCRS.NextItrScrFiscal_Period())
{
TempValue= OCCRS.GetItrScrFiscal_Period();
TempSelected= OCCRS.GetItrSelectedScrFiscal_Period();
out.println("<OPTION value = '" + TempValue + "' " + TempSelected + " >" + TempValue + "</OPTION>");
}
out.println("</SELECT>");
out.println("</TD>");
out.println("</TR>");
out.println("<TR>");
out.println("<TD>");
out.println("<FONT COLOR = BLACK>");
out.println("<B>");
out.println("Province");
out.println("</B>");
out.println("</FONT>");
out.println("</TD>");
out.println("<TD>");
out.println("<SELECT name = 'Province_Code' >");
while (OCCRS.NextItrScrProvince_Code())
{
TempValue= OCCRS.GetItrScrProvince_Code();
TempSelected= OCCRS.GetItrSelectedScrProvince_Code();
TempText= OCCRS.GetItrScrProvince_Desc();
out.println("<OPTION value = '" + TempValue + "' " + TempSelected + " >" + TempText + "</OPTION>");
}
out.println("</SELECT>");
out.println("</TD>");
out.println("</TR>");
out.println("<TR>");
out.println("<TD>");
out.println("<FONT COLOR = BLACK>");
out.println("<B>");
out.println("Facility");
out.println("</B>");
out.println("</FONT>");
out.println("</TD>");
out.println("<TD>");
out.println("<SELECT name = 'Facility_Code' >");
while (OCCRS.NextItrScrFacility_Code())
{
TempValue= OCCRS.GetItrScrFacility_Code();
TempSelected= OCCRS.GetItrSelectedScrFacility_Code();
TempText= OCCRS.GetItrScrFacility_Name();
out.println("<OPTION value = '" + TempValue + "' " + TempSelected + " >" + TempText + " " + TempValue + "</OPTION>");
}
out.println("</SELECT>");
out.println("</TD>");
out.println("</TR>");
out.println("<TR>");
out.println("<TD>");
out.println("<FONT COLOR = BLACK>");
out.println("<B>");
out.println("Status Code");
out.println("</B>");
out.println("</FONT>");
out.println("</TD>");
out.println("<TD>");
out.println("<SELECT name = 'Status_Code' >");
while (OCCRS.NextItrScrStatus_Code())
{
TempValue= OCCRS.GetItrScrStatus_Code();
TempSelected= OCCRS.GetItrSelectedScrStatus_Code();
TempText= OCCRS.GetItrScrStatusDesc();
out.println("<OPTION value = '" + TempValue + "' " + TempSelected + " >" + TempText + "</OPTION>");
}
out.println("</SELECT>");
out.println("</TD>");
out.println("</TR>");
out.println("</TABLE>");
// SHOW 2 SUBMIT BUTTONS ,"Next" and "Close"
out.println("<TABLE ALIGN = 'CENTER'>");
out.println("<TR>");
out.println("<TD ALIGN=CENTER>");
out.println("<INPUT TYPE = 'SUBMIT' NAME = 'ShowRecord' value ='ShowRecord'>");
out.println("</INPUT>");
out.println("</TD>");
out.println("<TD>");
out.println("<INPUT TYPE = 'Submit' NAME = 'Exit' value ='Exit'>");
out.println("</INPUT>");
out.println("</TD>");
out.println("</TR>");
out.println("</TABLE>");
}
else
{
out.println("<TABLE ALIGN=CENTER>");
//THE COLUMN NAME IS SHOWN
for(int Row = 0;Row <= OCCRS.GetFilledRow();Row++)
{
if (Row == 0)
{
out.println("<TR BGCOLOR = 'Black' >");
}
else
{
out.println("<TR BGCOLOR = 'Teal' >");
}
for(int Col = 0;Col <= OCCRS.GetFilledCol();Col++)
{
out.println("<TD>");
out.println("<B>");
out.println("<FONT COLOR = WHITE >");
out.println(OCCRS.ReturnNewPageElement(Row,Col));
out.println("</FONT>");
out.println("</B>");
out.println("</TD>");
}
out.println("</TR >");
}
out.println("</TABLE>");
out.println("<TABLE ALIGN = 'CENTER'>");
out.println("<TR>");
if (OCCRS.GetMoreRecExist())
{
out.println("<TD>");
out.println("<INPUT TYPE = 'Submit' NAME = 'Next' value ='Next'>");
out.println("</INPUT>");
out.println("</TD>");
}
if (OCCRS.GetPageNumber() > 0)
{
out.println("<TD>");
out.println("<INPUT TYPE = 'Submit' NAME = 'Prev' value ='Prev'>");
out.println("</INPUT>");
out.println("</TD>");
out.println("<TD>");
out.println("<INPUT TYPE = 'Submit' NAME = 'First' value ='First'>");
out.println("</INPUT>");
out.println("</TD>");
}
out.println("<TD>");
out.println("<INPUT TYPE = 'Submit' NAME = 'Search' value ='Search'>");
out.println("</INPUT>");
out.println("</TD>");
out.println("<TD>");
out.println("<INPUT TYPE = 'Submit' NAME = 'Exit' value = 'Exit'>");
out.println("</INPUT>");
out.println("</TD>");
out.println("</TR>");
out.println("</TABLE>");
}
%>
</FORM>
</BODY>
</HTML>
Here is my method in CCRS class
/*
This method create a multidimensional array of fixed row
and column .This array is populated with all the data that has to
be displayed ,and also satisfies the condition specified by the user.
This array is subsequently used in the JSP (which calls this method)
and displays all the row.
*/
publicvoidCreatePageOfSubmissionList(HttpServletRequest request) throws Exception
{
ResultSet ResSet;
ShowRecord = true;
DisplayMessage = "";
if (request.getParameter("ShowRecord") != null )
{
ScrProvince_Code= request.getParameter("Province_Code").trim();
ScrFacility_Code= request.getParameter("Facility_Code").trim();
ScrFiscal_Year = request.getParameter("Fiscal_Year").trim();
ScrFiscal_Period= request.getParameter("Fiscal_Period").trim();
ScrStatus_Code = request.getParameter("Status_Code").trim();
LastSubmission_Id= 999999999;
MathematicalSign= "<";
}
else
if (request.getParameter("Release") != null )
{
ScrSubmission_Id= request.getParameter("Release").trim();
Submission_Id= ScrSubmission_Id;
ReleaseSubmission();
LastSubmission_Id =FirstSubmission_Id;
MathematicalSign= "<=";
}
else
if (request.getParameter("Process") != null )
{
ScrSubmission_Id= request.getParameter("Process").trim();
Submission_Id= ScrSubmission_Id;
ProcessSubmission();
LastSubmission_Id =FirstSubmission_Id;
MathematicalSign= "<=";
}
else
if (request.getParameter("Remove") != null )
{
ScrSubmission_Id = request.getParameter("Remove").trim();
Submission_Id= ScrSubmission_Id;
RemoveSubmission();
LastSubmission_Id=FirstSubmission_Id;
MathematicalSign = "<=";
}
else
if (request.getParameter("Prev") != null )
{
PageNumber = PageNumber - 1;
Long Temp = (Long) VecPrevSubmission_Id.elementAt(PageNumber);
LastSubmission_Id = Temp.longValue();
MathematicalSign = "<=";
}
else
if (request.getParameter("First") != null )
{
Long Temp = (Long) VecPrevSubmission_Id.elementAt(0);
LastSubmission_Id = Temp.longValue();
PageNumber = 0;
MathematicalSign = "<=";
}
else
if (request.getParameter("Next") != null )
{
PageNumber = PageNumber + 1;
VecPrevSubmission_Id.addElement(new Long(FirstSubmission_Id));
MathematicalSign = "<";
}
//initialize the page array
for(int Row = 0;Row <= MaxPageRow;Row++)
{
for(int Col = 0; Col <= MaxPageCol;Col++)
{
NewPage[Row][Col]= "";
}
}
Submission_Id = LastSubmission_Id + "";
Province_Code = ScrProvince_Code;
Facility_Code = ScrFacility_Code;
Fiscal_Year= ScrFiscal_Year;
Fiscal_Period = ScrFiscal_Period;
Status_Code= ScrStatus_Code;
BuildQueryForSubmissionList();
ResSet =Stmt.executeQuery (Query);
ResSetMetaData =ResSet.getMetaData();
//remember NumOfFields is O is java variable which starts with 0 and not 1,
//that is the reason I am subtracting 1 from oracle returned value.
int NumOfFields=ResSetMetaData.getColumnCount() - 1;
FilledCol = -1;
for(int Col = 0; Col <= NumOfFields;Col++)
{
//1 is added because JDBC subscripts starts with 1 and not 0
NewPage[0][Col] = ReturnChangedColumnName(Col + 1,ResSetMetaData);
FilledCol = FilledCol + 1;
}
FilledCol = FilledCol + 1;
NewPage[0][FilledCol] = "Remove";
FilledCol = FilledCol + 1;
NewPage[0][FilledCol] = "Process";
FilledCol = FilledCol + 1;
NewPage[0][FilledCol] = "Release";
FilledCol = FilledCol + 1;
NewPage[0][FilledCol] = "Preview";
//Note at this point row number 0 of the array is having the field names
//Remaining rows (i.e 1,2...etc) will now be populated with field data
FilledRow = 0;
MoreRecExist = false;
while(ResSet.next())
{
if (FilledRow == MaxPageRow)
{
MoreRecExist = true;
break;
}
FilledRow = FilledRow + 1;
if(FilledRow==1)
{
FirstSubmission_Id=Long.parseLong(ReturnColumnData(1,ResSet));
}
FilledCol = -1;
for(int Col= 0; Col <= NumOfFields;Col++)
{
//1 is added because JDBC subscripts starts with 1 and not 0
NewPage[FilledRow][Col] = ReturnColumnData(Col + 1,ResSet);
FilledCol = FilledCol + 1;
}
LastSubmission_Id = Long.parseLong(ReturnColumnData(1,ResSet));
Status_Code = ResSet.getString("Status_Code");
if (Status_Code == null)
{
Status_Code = "";
}
else
{
Status_Code = Status_Code.toUpperCase().trim();
}
FilledCol = FilledCol + 1;
//IF SUBMISSION HAS ONLY BEEN REGISTERED THEN SHOW A REMOVE BUTTON
if (Status_Code.equals("R"))
{
NewPage[FilledRow][FilledCol] = "<INPUT TYPE = 'Submit' NAME = 'Remove' value ='" + LastSubmission_Id + "'></INPUT>";
}
FilledCol = FilledCol + 1;
//SHOW THE PROCESS BUTTON IF SUBMISSION HAS BEEN BEEN REGISTERED
if (Status_Code.equals("R"))
{
NewPage[FilledRow][FilledCol] = "<INPUT TYPE = 'Submit' Name = 'Process' value ='" + LastSubmission_Id + "'></INPUT>";
}
FilledCol = FilledCol + 1;
//SHOW THE RELEASE BUTTON IF THE SUBMISSION HAS BEEN BEEN PROCESSED
if (Status_Code.equals("P"))
{
NewPage[FilledRow][FilledCol] = "<INPUT TYPE = 'Submit' NAME = 'Release' value ='" + LastSubmission_Id + "'></INPUT>";
}
FilledCol = FilledCol + 1;
//SHOW THE PREVIEW BUTTON IF THE SUBMISSION HAS BEEN PROCESSED
if (Status_Code.equals("P") ||
Status_Code.equals("C") )
{
NewPage[FilledRow][FilledCol] =
"<img src=\"pdf.gif\" border=\"0\" onClick=\" javascript:window.open('" + StringUtil.replaceString(Preview_URL,"%Submission_Id%",new Long(LastSubmission_Id).toString()) + "', 'SubmissionReport','location=no,menubar=no,toolbar=no,scrollbars=yes,left=' + window.screen.availWidth*1.2/8 + ',top='+window.screen.availHeight*1.2/14 + ',width=' + window.screen.availWidth*3/4 + ',height=' + window.screen.availHeight*6/7 + '')\" style=\"cursor:hand\" >";
//"<img src=\"/appl/development/ccrs/images/pdf.gif\" border=\"0\" onClick=\" javascript:window.open('" + StringUtil.replaceString(Preview_URL,"%Submission_Id%",new Long(LastSubmission_Id).toString()) + "', 'SubmissionReport','location=no,menubar=no,toolbar=no,scrollbars=yes,left=' + window.screen.availWidth*1.2/8 + ',top='+window.screen.availHeight*1.2/14 + ',width=' + window.screen.availWidth*3/4 + ',height=' + window.screen.availHeight*6/7 + '')\" style=\"cursor:hand\" >";
}
}
}