Foros del Web » Programación para mayores de 30 ;) » Java »

Mandar a llamar a un metodo desde servlet con html

Estas en el tema de Mandar a llamar a un metodo desde servlet con html en el foro de Java en Foros del Web. Saludos a todos los expertos de este foro....... Tengo el siguiente problema: Estoy trabajando con java servlets y utilizo html para pedir datos de entrada ...
  #1 (permalink)  
Antiguo 18/12/2004, 14:55
 
Fecha de Ingreso: abril-2004
Ubicación: Morelos, México
Mensajes: 124
Antigüedad: 20 años
Puntos: 0
Mandar a llamar a un metodo desde servlet con html

Saludos a todos los expertos de este foro.......

Tengo el siguiente problema:

Estoy trabajando con java servlets y utilizo html para pedir datos de entrada y sucede que en el codigo necesito ejecutar un metodo (hecho en el mismo servlet) en el momento en que el usuario selecciona un componente combo de html.

El codigo del java servlet es el siguiente:
Código PHP:
    out.println("<html>");
    
out.println("<head><title>svtdatosmaterias</title></head>");
    
out.println("<body bgcolor=\"#ffffff\">");
    
out.println("<p>Datos de entrada para las materias</p>");
    
out.println("<table width='68%' border='1' align='center' bgcolor='#00CCFF'>");
        
out.println("  <tr> ");
        
out.println("    <td><strong><font face='Arial, Helvetica, sans-serif'>Nombre de la Instituci&oacute;n: ");
        
out.println("      </font></strong></td>");
        
out.println("    <td><font face='Arial, Helvetica, sans-serif'> ");
        
out.println("      <select name='boxInstitucion' id='boxInstitucion'>");
        
out.println("        <option value='Instituto'>Instituto</option>");
        
out.println("      </select>");
        
out.println("      </font></td>");
        
out.println("  </tr>"); 
El metodo a llamar es el siguiente
Código PHP:
  public int mAgregar(HttpServletRequest reqPrintWriter out){

        
String IdMateria =     (String) req.getParameter("IdMateria") ;
        
String NombreMateria = (String) req.getParameter("NombreMateria") ;

//El valor del combo seleccionado y del cual fue llamado este metodo
        
String Institucion =   (String) req.getParameter("Institucion") ;
        
String NivelEstudios = (String) req.getParameter("NivelEstudios") ;
        
String Area =          (String) req.getParameter("Area") ;
        
String Creditos =      (String) req.getParameter("Creditos") ;
        
String Objetivo =      (String) req.getParameter("Objetivo") ;
        
String Resumen =        (String) req.getParameter("Resumen") ;
        
String TipoMateria =   (String) req.getParameter("TipoMateria") ;

       if (((
IdMateria.length()) > 0) && ((NombreMateria.length()) > 0) && ((Institucion.length()) > 0) &&
            ((
NivelEstudios.length()) > 0) && ((Area.length()) > 0) && ((Creditos.length()) > 0) &&
            ((
Objetivo.length()) > 0) && ((Resumen.length()) > 0) && ((TipoMateria.length()) > 0))     {

//realizo algo
 
intAccion  0;
}
else{
//no realizo nada
      
intAccion = -1;
    }

    return 
intAccion;
  }
//Fin del metodo mAgregar 

Si alguien sabe como hacerlo y me puede ayudar se los agradecere mucho....
  #2 (permalink)  
Antiguo 19/12/2004, 11:45
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 9 meses
Puntos: 10
En realidad el HTML jama slo lograras hacer interactuar con algun lenguage del servidor de la forma como quieres hacerlo.

La frma de hacerlo seria mesclando un poco de JavaScript, de manera de hacer un onChange, y en esa funcion, cuando se selecione algo, mandes a llamar a la misma pagina, pero con algun param,etro por la url, como por ejemplo el id de lo que seleccionaste, luego en tu Servlet debes tratar de rescatra ese ID, y si lo rescata, entonces llamas al metodo y le pasas su ID, sino, solo muestras el formulario y no haces nada.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #3 (permalink)  
Antiguo 19/12/2004, 12:45
 
Fecha de Ingreso: abril-2004
Ubicación: Morelos, México
Mensajes: 124
Antigüedad: 20 años
Puntos: 0
Gracias Gonzalo, pero como lo hago, tengo que transformar el metodo previamente mencionado a codigo javascript o se puede utilizar tal y como esta......

No se si me podrias ayudar, nose mucho de javascript y menos de java servlets


Gracias de antemano........
  #4 (permalink)  
Antiguo 19/12/2004, 13:14
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 9 meses
Puntos: 10
No acabas de entender, el HTML y el JavaScript son codigos que se ejecutan n el cliente, por tanto, en un ambito muy, pero muy diferente a los lenguages del servidor como PHP, JSP y Servlets, por ello es que estos jamas pueden verse para interactuar directamente, solo puedes pasarles parametros al servidor desde una pagina, para que mediante ellos sepa que hacer.

por ejemplo, para hacer lo que te digo yo debria ser algocomo esto

Código PHP:
<script language="JavaScript">
    function 
llamarMetodo() {
        var 
id document.formulario.combo.value;
        
location.replace("esta_misma_pagina.jsp?id=" id);
    }
</script>

<%
    if(request.getParameter("id") != null) {
        tuMetodo();
    }
%>

<body>
<form action="quien_sea.jsp" method="POST" name="formulario">
    <select name="combo" onChange="llamarMetodo()">
        <option value="2">Algo</option>
        .
        .
        .
    </select>
</form>
</body> 
Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #5 (permalink)  
Antiguo 19/12/2004, 16:58
 
Fecha de Ingreso: abril-2004
Ubicación: Morelos, México
Mensajes: 124
Antigüedad: 20 años
Puntos: 0
Ok, gracias Gonzalo, voy a investigar como programo ese metodo para colocarlo en javascript, porq ese metodo tiene muchas cosas como validacion de campos extraidos del html, acciones SQL, referencias a otras clases y metodos publicos y privados, etc.....

Saludos q estes bien..... y muchas gracias........
  #6 (permalink)  
Antiguo 19/12/2004, 17:05
 
Fecha de Ingreso: abril-2004
Ubicación: Morelos, México
Mensajes: 124
Antigüedad: 20 años
Puntos: 0
Gonzalo, otra duda, de casualidad sabes si existe algun IDE como JBuilder pero ahora para programar facilmente en Javascript.......

Si sabes de alguno te agradecere mucho si me ayudas......

De antemano.. gracias.......
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:26.