|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jun 2007
Messaggi: 24
|
[JAVA-SPRING] Problema inserimento DB da un Form
Salve a tutti. Ho un problema con un progetto universitario. Devo realizzare la parte server con Spring e ho delle difficoltà con l'MVC. Ho creato un form che riceve dei campi dall'utente e correttamente con un controller li manda ad un'altra view. Il problema è che questi campi voglio inserirli anche in un DB(sempre tramite il controller) ma non riesco. Credo di avere qualche problema con la connessione al DB.
Io credo che il problema sia nell'inziezione nell'application context. Aspetto vostre risposte. Grazie in anticipo addpoiext.jsp Codice:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<!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=UTF-8">
<title>Inserisci Poi Esterno</title>
</head>
<body bgcolor="#DDDDDD">
<h1>Inserisci Poi Esterno</h1>
<spring:nestedPath path="addpoiext">
Enter Your Details...
<form action="" method="post">
Id Poi Esterno:
<spring:bind path="idPoiExt">
<input type="text" name="${status.expression}" value="${status.value}"><br>
</spring:bind>
Latitudine:
<spring:bind path="latitudine">
<input type="text" name="${status.expression}" value="${status.value}"><br>
</spring:bind>
Longitudine:
<spring:bind path="longitudine">
<input type="text" name="${status.expression}" value="${status.value}"><br>
</spring:bind>
Nome:
<spring:bind path="name">
<input type="text" name="${status.expression}" value="${status.value}"><br>
</spring:bind>
Informazioni:
<spring:bind path="info">
<input type="text" name="${status.expression}" value="${status.value}"><br>
</spring:bind>
Immagine:
<spring:bind path="img">
<input type="text" name="${status.expression}" value="${status.value}"><br>
</spring:bind>
Zona:
<spring:bind path="zona">
<input type="text" name="${status.expression}" value="${status.value}"><br>
</spring:bind>
<input type="submit" value="OK">
</form>
</spring:nestedPath>
</body>
</html>
Codice:
package controller;
import DTO.PoiExtDTO;
import Service.AddPoiExtService;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
/**
*
* @author Vincenzo
*/
public class AddpoiextController extends SimpleFormController{
private AddPoiExtService addPoiExtService;
public void setAddPoiExtService(AddPoiExtService addPoiExtService) {
this.addPoiExtService = addPoiExtService;
}
public AddpoiextController(){
setCommandClass(PoiExtDTO.class);
setCommandName("addpoiext");
setSuccessView("helloView");
setFormView("addpoiext");
}
protected ModelAndView onSubmit(Object command) throws Exception{
PoiExtDTO PoiExtDTO=(PoiExtDTO) command;
ModelAndView mv= new ModelAndView(getSuccessView());
mv.addObject("idPoiExt",PoiExtDTO.getIdPoiExt());
mv.addObject("latitudine",PoiExtDTO.getLatitudine());
mv.addObject("longitudine",PoiExtDTO.getLongitudine());
mv.addObject("name",PoiExtDTO.getName());
mv.addObject("info",PoiExtDTO.getInfo());
mv.addObject("img",PoiExtDTO.getImg());
mv.addObject("zona",PoiExtDTO.getZona());
addPoiExtService.addDBPoiExt(PoiExtDTO);
return mv;
}
}
Codice:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<!--bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="/WEB-INF/jdbc.properties" />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.url}"
p:username="${jdbc.username}"
p:password="${jdbc.password}" /-->
<!-- ADD PERSISTENCE SUPPORT HERE (jpa, hibernate, etc) -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/poi" />
<property name="username" value="root" />
<property name="password" value="" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="poiDao" class="Jdbc.PoiExtDAOJdbc">
<property name="jdbcTemplate" ref="jdbcTemplate" />
</bean>
</beans>
Codice:
package Service;
import DAO.PoiExtDAO;
import DTO.PoiExtDTO;
/**
*
* @author Vincenzo
*/
public class AddPoiExtService {
private PoiExtDAO PoiExt;
public void setPoiExt(PoiExtDAO PoiExt) {
this.PoiExt = PoiExt;
}
public boolean addDBPoiExt(PoiExtDTO DTO){
if (PoiExt.chkExistence(DTO) == false){
PoiExt.insertPoi(DTO);
return true;}
else
return false;
}
public int numeroPoiExt(){
return PoiExt.numeroPoiExt();
}
}
Ultima modifica di cecce88 : 02-08-2011 alle 12:13. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Apr 2007
Messaggi: 182
|
Forse sono io che non lo vedo, ma nell'application context non mi sembra che venga mai definito l'oggetto che costituisce il servizio.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:36.



















