Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/12/2012, 16:01
Avatar de rgf1987
rgf1987
 
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 4 meses
Puntos: 22
Duda MVC paso de variables por URL

Muy buenas,

soy nuevo en el foro, ante todo decir que me interesa el foro y que me resolvais mi duda o no, intentaré formar parte activa de esta comunidad ya que el mundo de la programación me interesa bastante aunque no sea ningún experto.

Bueno mi duda es la siguiente:

Estoy desarrollando un proyecto en MVC donde tengo una pagina index.jsp con enlaces a diferentes noticias y otro fichero noticia.jsp donde quiero que se me muestre la noticia que se seleccione, las noticias estan almacenadas en una table en mysql.

El problema esta en que tengo que indicar de alguna manera que noticia quiero que se habra y para ello debo pasar el "id" de la noticia que se ha seleccionado, esto creo que se puede hacer pasando variables junto a url de la siguiente manera:
Código HTML:
Ver original
  1. <p class="readmore"><a href="noticia.htm?idNoticia=1">Leer más &raquo;</a></p>

No se si esto es correcto del todo, creo que si
Sin embargo en mi proyecto al hacer referencia a una extension .htm y al desarrollar en MVC actuaría el servlet "dispatcher-servlet"

Código XML:
Ver original
  1. <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  2.         <property name="mappings">
  3.             <props>
  4.                 <prop key="registrar.htm">registrarController</prop>    
  5.                 <prop key="index.htm">indexController</prop>    
  6.                 <prop key="noticia.htm">noticiaController</prop>                                                                                                
  7.             </props>            
  8.         </property>
  9.     </bean>

Llamando al controlador que es el encargado de llamar al modelo que accede al mysql y es aqui donde necesito ese id de la noticia para hacer la busqueda en la base de datos.

Código JAVA:
Ver original
  1. public class IndexController implements Controller {
  2.    
  3.     protected final Log logger = LogFactory.getLog(getClass());
  4.    
  5.     private models.Operaciones operaciones = new models.Operaciones();
  6.    
  7.     @Override
  8.     public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
  9.             throws ServletException, IOException, SQLException {        
  10.        
  11.         Noticia noticia = operaciones.getNoticia(idNoticia);      
  12.        
  13.         return new ModelAndView("/WEB-INF/jsp/index.jsp", noticia);        
  14.     }
  15. }

¿Cómo hago para pasar la variable desde la url del HTML al controlador y como hago para capturarla en el controlador?

Espero que se haya entendido bien lo que estoy preguntando
Un saludo y gracias!