hai ragione, allora ho due file jsp
carica.jsp:
codice:
<%@ page language="java" %>
<%@page import="java.io.File" %>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="IT">
<head>
<title>carica</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<%! String file="";%>
<%
out.write("File richiesto: "+request.getParameter("nome"));
String isDati = request.getParameter("dati");
if(!(isDati == null) && !isDati.equals("") && !isDati.equals("null"))
{
String ap="";
file=request.getParameter("file");
ap = session.getServletContext().getRealPath("WEB-INF/miacartella/
File f = new File (ap);
String[] files = f.list();
String stringa="";
for (int i = 0; i < files.length; i++)
{
stringa=stringa+"#"+files[i];
}
}
session.setAttribute("files", stringa);
response.sendRedirect("menu.jsp");
}
String nome=request.getParameter("nome");
if ((!nome.equals("")) && (!file.equals("null"))){
if (file.equals("1.jsp"))
response.sendRedirect("1.jsp"); }%>
Indietro
</body>
</html>
e menu.jsp:
codice:
<%@ page language="java" %>
<%@page import="java.util.List" %>
<%@page import="java.util.ArrayList" %>
<head>
<title>menu</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<%! List lista= new ArrayList() ;%>
<%
if(!(session.getAttribute("files")==null))
{
String Stringa=(String)session.getAttribute("files");
String[] A= StringaConNomi.split("#");
for (int x=1;x<A.length;x++) {
lista.add(A[x]);
session.removeAttribute("files");
}
}
%>
<h2>MENU </h2>
<form method="post" action="carica.jsp">
<fieldset>
<legend>Scelta file</legend>
<label for="Tipofile">Tipo File: </label>
<select name="file" id="">
<option value="file" selected>Seleziona il file </option>
<option value="1.jsp" >f1</option>
<option value="2.jsp">f2</option>
<option value="3.jsp">f3</option>
<input type="submit" value="Carica dati" name="dati">
</select>
<label for="nome"> nomi dei file: </label>
<select name="nome" id="nome">
<%
for (int x=0;x<lista.size();x++) { %>
<option value=<%=lista.get(x)%>>"<%=lista.get(x)%>" </option>
<%
lista.clear();
}
%>
</select>
<input type="submit" value="Carica pagina" name="invia">
</fieldset>
</form>
</body>
</html>
allora in menu creo 2 select nel primo mi chiede il tipo di file e nel secondo i nomi che mi ricavo dalla stringa passata da carica una volta premuto il tasto carica dati...tutto ok
ora quando premo carica pagina mi lancia l'eccezione
ho sostituito la sendRedirect con 2 print che mi stampano sia il file che il nome e lo fa