Retornar valores de uma página para outra

2 respostas
D
Pessoal tenho uma aplicação onde no momento possuo três telas, a primeira:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>

    <h1>JSP Page</h1>
        <form name="form1" method="post" action="Mostra_Resultado.jsp">
    <table>    
        <tr>    
            <td>Valor1:</td>
            <td><input type="text" name="valor1" size="10"></td>                   
            <td>Valor2:</td>
            <td><input type="text" name="valor2" size="10"></td>
            <td>Valor3:</td>
            <td><input type="text" name="valor3" size="10"></td>            
        </tr>            
    </table>
    <table>
            <td align=left><input type="submit" name="Submit" value="Calcular Resultado"></td>
        </form>       
    </table>    
    </body>
</html>
Nesta primeira tela eu informo os valores dentro de seus respectivos campos e clico em "Calcular Resultado" para que na outra tela, tela 2:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
    <h1>JSP Page</h1>    
    <%String valor1 = request.getParameter("valor1");
    String valor2 = request.getParameter("valor2");
    String valor3 = request.getParameter("valor3");

    double valor11 = Double.parseDouble(valor1);

    double valor21 = Double.parseDouble(valor2);

    double valor31 = Double.parseDouble(valor3);

    double resultado = (valor11 + valor21 + valor31);

    String resultado1 = String.valueOf(resultado);
%>           
    <form name="form1" method="post" action="Grava_Resultado.jsp">
    <table>    
        <tr>    
            <td>Valor1:</td>
            <td><input type="text" name="valor1" value="<%=valor1%>" size="10"></td>                   
            <td>Valor2:</td>
            <td><input type="text" name="valor2" value="<%=valor2%>" size="10"></td>
            <td>Valor3:</td>
            <td><input type="text" name="valor3" value="<%=valor3%>" size="10"></td>
            <%if (resultado1!=""){
                %>
                <td>Resultado:</td>
                <td><input type="text" name="resultado" value="<%=resultado1%>" size="10"></td>
           <% }%>
        </tr>            
    </table>
    <table>        
            <td align=left><input type="submit" name="Submit" value="Salvar Valores"></td>
        </form>
       <form name="form1" method="post" action="index.jsp">
            <td align=left><input type="submit" name="Submit" value="Voltar"></td>
        </form>
    </table>
    </body>
</html>
eu obtenha a resposta do cálculo destes valores. Acontece que caso o usuário queira ele pode retornar a tela anterior para refazer o cálculo, sendo que gostaria que ao fazer isto a tela fosse retornada com os valores preenchidos anteriormente na mesma, para que simplesmente ele possa alterar os que ele definir. Acontece que como já tenho um form que direciona os valores dos inputs para a terceira tela que gravará os resultados caso esta seja a opção do usuário. Quando ao invés de salvar tento voltar para a primeira tela, não consigo mandar os dados para capturar na mesma e preenchê-los. Gostaria de que se possível alguém me indicasse uma maneira de fazer isto.

2 Respostas

tiagogn

Subistitua isso:

<form name="form1" method="post" action="index.jsp">
             <td align=left><input type="submit" name="Submit" value="Voltar"></td>
         </form>

Por isso:

<input type="button" name="btnVoltar" onClick="javascript:history.back()" value="Voltar"/>
D

Valeu tiagogn pela ajuda. Obrigado! :thumbup:

Criado 15 de julho de 2005
Ultima resposta 15 de jul. de 2005
Respostas 2
Participantes 2