Ho una pagina JSP con un form che funziona correttamente.
Vorrei che un'altra pagina JSP, contenente a sua volta un altro form funzionante, utilizzasse tale form includendo la JSP dove è definito.
Riesco ad includere la JSP con il form (piuttosto banale), ma il form non fa il suo dovere.
Ho idea che il problema sia nel fatto che non sia possibile gestire un form da una pagina diversa da quella in cui è definito a meno di qualche tecnica particolare che non conosco.
Vi propongo il codice che ho scritto, sapete darmi qualche dritta per risolvere il problema?

Pagina con il suo form all'inizio e il form incluso sotto.
Codice PHP:
<%@ page language="java" contentType="text/html; charset=iso-8859-1"
    
pageEncoding="ISO-8859-1"%>
<%@ 
page import="controller.MagController" %>
<%!
static final 
String[][] TABS = {
    {
"A","showingrediente.jsp"},
    {
"B","showingrediente.jsp"},
    {
"C","showingrediente.jsp"}
  
    }; %>
<!
DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<
title>Modifica soglia</title>
<% 
int soglia_scadenza MagController.getSoglia(); %>

<
SCRIPT LANGUAGE="JavaScript">
<!--
function 
checkSogliaScadenza(obj) {
    
//permette solo numeri    
    
scadenza obj.value.replace(/\D/g,"");
    
obj.value scadenza;
}
function 
checkFormScadenza(obj) {
    if(
document.modsoglia.scadenza.value <= 0) {
        
alert("La soglia di scadenza deve essere un intero maggiore di 1");
        
document.modsoglia.scadenza.value "";
        
document.modsoglia.scadenza.focus();
        return 
false;
    }

    return 
true;
}
//-->
</script>
</head>
<body>
<center>
<h2>Modifica valori di soglia</h2>



Modifica soglia di scadenza
<form name="modsoglia" action="ModificaScadenza" method="post">
<table width="300" border="0" cellpadding="6">
    <tr>
        <td width="65%">Soglia per date di scadenza</td>
        <td width="35%"> <%= soglia_scadenza %> giorni</td>
    </tr>
    <tr>
        <td>Nuovo valore di soglia</td>
        <td><input type="text" name="scadenza" size="3" onChange="checkSogliaScadenza(this)" /> giorni</td>
    </tr>
    <tr>
        <td><%if (session.getAttribute("esito_scadenza") != null)
                if (session.getAttribute("esito_scadenza").equals("non_modificata")) {%>
                    <font color="red">Soglia non modificata!</font> <% } %></td>
        <td><input type="submit" name="modsoglia" value="Modifica" onClick="return checkFormScadenza(this)"/></td>
    </tr>
</table>
</form>




Modifica soglia rimanenze

<form>
<%String which = request.getParameter("which");
  if (which==null)
      which = TABS[0][0];
  String jspToRun = null;
  for (int i=0; i<TABS.length; i++) {
      String tabLabel = TABS[i][0];
      String tabJSP = TABS[i][1];
      String CHECKED = "";
      if (which.equals(tabLabel)) {
          CHECKED = "CHECKED";
          jspToRun = tabJSP;
      }
%>
<input name="which" type="radio" value="<%=tabLabel %>" <%= CHECKED %> onClick="this.form.submit()" /><%= tabLabel %>

<%
    if (i==12) {%>
        

<%    } 
} %>



<jsp:include page="<%= jspToRun %>" flush="true" />
</p>
</form>





[url="hpmagazziniere.html"]Home page[/url]
</center>
</body>
</html> 
Pagina col form da includere nella precedente:
Codice PHP:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    
pageEncoding="ISO-8859-1"%>
<%@ 
page import="controller.IngrController" %>
<%@ 
page import="java.sql.*" %>
<!
DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<
title>Mostra ingredienti per lettera</title>
<
SCRIPT LANGUAGE="JavaScript">
<!--
function 
selezionato(obj) {
    
//permette solo numeri    
    
nuovaSoglia obj.value.replace(/\D/g,"");
    
obj.value nuovaSoglia;
    
    if(
obj.value 0)
        
document.modrimanenza.totale_selezionati.value parseInt(document.modrimanenza.totale_selezionati.value) + 1;
    if(
obj.value <= 0)
        
document.modrimanenza.totale_selezionati.value parseInt(document.modrimanenza.totale_selezionati.value) - 1;
}

//-->
</script>
<%
    int i=0;
    String lettera = request.getParameter("which");
    ResultSet rs = IngrController.getIngrMagPerLettera(lettera);
%>
</head>
<body>
<center>
<form name="modrimanenza" action="ModificaRimanenza" method="post">
<table width="550" cellpadding="2">
    <tr>
        <td width="25%">[b]Ingrediente[/b]</td>
        <td width="20%">[b]Unit&agrave; di misura [/b]</td>
        <td width="25%"><div align=center>[b]Soglia attuale [/b]</div></td>
        <td width="30%">[b]Nuovo valore di soglia [/b]</td>
    </tr>
    <% while (rs.next()) { %>
    <tr>
        <td><%=rs.getString("Nome") %></td>
        <td><div align="center"><%=rs.getString("unitaDiMisura") %></div></td>
        <td><div align="center"><%=rs.getString("Soglia") %></div></td>
        <td><input type="text" name="ingrediente<%= i %>value" size="3" onChange="selezionato(this)"/>
            <input type="hidden" name="ingrediente<%= i %>name" value="<%=rs.getString("Nome") %>" /></td>
    </tr>
    <% i++;
    } %>
    <tr>
        <td></td>
        <td></td>
        <td><input type="hidden" name="totale_selezionati" value="0"/></td>
        <td><input type="submit" name="modifica" value="Modifica" /></td>
    </tr>
</table>
</form>
</center>
</body>
</html>