Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Mandar a llamar a un metodo desde servlet con html (http://www.forosdelweb.com/f45/mandar-llamar-metodo-desde-servlet-con-html-255379/)

javierrm 18/12/2004 14:55

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....

goncafa 19/12/2004 11:45

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

javierrm 19/12/2004 12:45

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........

goncafa 19/12/2004 13:14

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

javierrm 19/12/2004 16:58

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........

javierrm 19/12/2004 17:05

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.......


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

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.