Jag har en JSP-sida som gör ett anrop till en servlet på samma sida. Till servletten vill jag skicka med två stycken vektorer med strängvärden. Jag har försökt att både skicka med dessa vektorer som argument i mitt anrop till servlettten samt att tilldela två sessionvariabler som skall kunna läsas in i serveletten, utan att lyckas så bra!Session problem i JSP
Har provat med både set-/getAttribute och put-/getValue när det gäller sessions men får felmeddelande vid användninga av desa:
Undefined variable or class name: session String[] strLabel = session.getValue("label");
Undefined variable or class name: session String[] strInfo = session.getValue("info");
När jag försöker att skicka vektorerna i ett anrop räknar jag ju med att alla index följer med vektorerna men det som händer är att det är bara det index som har [5] som följer med till servletten. Ändrar jag if-satsen så att den blir sann vi y=2 så blir det index [2] som följer med osv och alla andra index blir null.
//Min Servlet
public void printHtml(JspWriter out, String strLabel[], String strInfo[]) throws IOException
{
//alt1
String strLabel[] = label;
String strInfo[] = info;
//alt2
String strLabel[] = session.getValue("label");
String strInfo[] = session.getValue("info");
out.print("<html>");
out.print("<!--");
out.print("TEST");
out.print("-->");
out.print("<head>");
out.print("<title>Inter - Svar</title>");
out.print("</head>");
out.print("<body BGCOLOR='#FFFFFF' VLINK='#0000FF'>");
out.print("<p align='center'><img src='/inter/top.gif' WIDTH='398' HEIGHT='37'><br>");
out.print("<strong><small><font face='Courier New'>" + "" + "</font></small></strong></p>");
out.print("<div align='center'><center>");
out.print("<table border='1' cellspacing='0' WIDTH='600'>");
out.print("<tr>");
out.print("<td width='140'><font face='Arial' color='#800000'><small><strong>" + strLabel[0] + "</strong></small></font></td>");
out.print("<td width='452'><font face='Courier New'>" + strInfo[0] + "</font></td>");
out.print("</tr>");
out.print("<tr>");
out.print("<td width='140'><font face='Arial' color='#800000'><small><strong>" + strLabel[1] + "</strong></small></font></td>");
out.print("<td width='452'><font face='Courier New'>" + strInfo[1] + "</font></td>");
out.print("</tr>");
out.print("<tr>");
out.print("<td width='140'><font face='Arial' color='#800000'><small><strong>" + strLabel[2] + "</strong></small></font></td>");
out.print("<td width='452'><font face='Courier New'>" + strInfo[2] + "</font></td>");
out.print("</tr>");
out.print("<tr>");
out.print("<td width='140'><font face='Arial' color='#800000'><small><strong>" + strLabel[3] + "</strong></small></font></td>");
out.print("<td width='452'><font face='Courier New'>" + strInfo[3] + "</font></td>");
out.print("</tr>");
out.print("<tr>");
out.print("<td width='140'><font face='Arial' color='#800000'><small><strong>" + strLabel[4] + "</strong></small></font></td>");
out.print("<td width='452'><font face='Courier New'>" + strInfo[4] + "</font></td>");
out.print("</tr>");
out.print("<tr>");
out.print("<td width='140'><font face='Arial' color='#800000'><small><strong>" + strLabel[5] + "</strong></small></font></td>");
out.print("<td width='452'><strong><font face='Courier New'>" + strInfo[5] + "</font></strong></td>");
out.print("</tr>");
out.print("</table>");
out.print("</center></div>");
out.print("<p align='center'>Ny fråga</p>");
out.print("</body>");
out.print("</html>");
}
%>
while((line = br.readLine()) != null)
{
//Ordna rubrik
String strLabel[] = new String[6];
int intPos1 = 2;
int intPos = line.indexOf(":");
intPos1 = intPos;
intPos1++;
strLabel[i] = line.substring(0, intPos1);
//Ordna svaret
String strInfo[] = new String[6];
//Int pos2 = line.indexOf(":");
int intPos2;
intPos2 = intPos;
intPos2++;
strInfo[i] = line.substring(intPos2, line.length());
i++;
y++;
// På 6:e varvet anropar vi serveletten som skriver html med värden från vektoererna
if (y == 5)
{
// Försöket med sessions
session.putValue("label", strLabel);
session.putValue("info", strInfo);
printHtml(out);
//Försöket med argument i anropet
printHtml(out, strLabel, strInfo);
}