Ik ben samen met iemand bezig voor het makenv an een Java Spring MVC website.
Nu zijn we begonnen met geen kennis van Spring en nu weten we een klein beetje.
Echter komen we er nu niet uit hoe je rechtstreeks een object kunt meegeven aan een view.
Standaard variable meegeven is gelukt, echter het meegeven van een object als student lukt me niet.
Daarintegen is het wel weer gelukt om dit via een POST mee te geven en wanneer je dat doet kun je in een get ook wat meegeven. Wat doe ik hier verkeerd iemand een idee?
Wat heb ik nu:
VIEW
<h2>Object weergeven</h2>
<p>Naam: ${student.naam}</p>
<p>School: ${student.school}</p>
Model
public class student
{
// ##### VARIABLE ##### \\
private String naam;
// ##### GET & SET ##### \\
public String getNaam()
{
return naam;
}
public void setNaam(String naam)
{
this.naam = naam;
}
}
Controller
@Controller
@RequestMapping("/home.htm")
public class homeController
{
/**
* De standaard weergave van home.htm
* @param model
* @return de .jsp file die weergegeven moet worden
*/
@RequestMapping(method = RequestMethod.GET)
public String showHome(ModelMap model, @ModelAttribute("student") student Student, BindingResult result)
{
// Voorbeeld 1 - Hier wordt binnen de model een attribuut toegevoegd
model.addAttribute("naam", "Jos");
// Voorbeeld 2 - Hier wordt een object aan het model toegevoegen
Student.setNaam("naam");
model.addAttribute("student", Student);
// De bestandsnaam van .jsp file dat weergegeven moet worden
return "home";
}
}
Dispatcher-Servlet
<?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
="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframewor...eans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframewor...-context-2.5.xsd">;
<!--
Benodigde packages voor de annotation afhandeling
-->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
<!--
De package waarin alle controllers staan
-->
<context:component-scan base-package="controllers" />
</beans>
Nu zijn we begonnen met geen kennis van Spring en nu weten we een klein beetje.
Echter komen we er nu niet uit hoe je rechtstreeks een object kunt meegeven aan een view.
Standaard variable meegeven is gelukt, echter het meegeven van een object als student lukt me niet.
Daarintegen is het wel weer gelukt om dit via een POST mee te geven en wanneer je dat doet kun je in een get ook wat meegeven. Wat doe ik hier verkeerd iemand een idee?
Wat heb ik nu:
VIEW
<h2>Object weergeven</h2>
<p>Naam: ${student.naam}</p>
<p>School: ${student.school}</p>
Model
public class student
{
// ##### VARIABLE ##### \\
private String naam;
// ##### GET & SET ##### \\
public String getNaam()
{
return naam;
}
public void setNaam(String naam)
{
this.naam = naam;
}
}
Controller
@Controller
@RequestMapping("/home.htm")
public class homeController
{
/**
* De standaard weergave van home.htm
* @param model
* @return de .jsp file die weergegeven moet worden
*/
@RequestMapping(method = RequestMethod.GET)
public String showHome(ModelMap model, @ModelAttribute("student") student Student, BindingResult result)
{
// Voorbeeld 1 - Hier wordt binnen de model een attribuut toegevoegd
model.addAttribute("naam", "Jos");
// Voorbeeld 2 - Hier wordt een object aan het model toegevoegen
Student.setNaam("naam");
model.addAttribute("student", Student);
// De bestandsnaam van .jsp file dat weergegeven moet worden
return "home";
}
}
Dispatcher-Servlet
<?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

xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframewor...eans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframewor...-context-2.5.xsd">;
<!--
Benodigde packages voor de annotation afhandeling
-->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
<!--
De package waarin alle controllers staan
-->
<context:component-scan base-package="controllers" />
</beans>