i'm trying to get my web app to work. But i have a problem with my Object Reparation in my jsp. Here is the Object :
@Entity
public class Reparation implements Serializable {
@EmbeddedId
private ReparationMId idRM;
private int idClient;
private String nomc;
private String prenomc;
private String probleme;
private Timestamp dateDepot;
private float prixPrevu;
private int idEtat;
private String etat;
private float prixFinal;
private Timestamp datePrevu;
private Timestamp dateLivraison;
private int idPersonnel;
private String nomp;
private String prenomp;
private String magasin;
private int produitClient;
@OneToOne
@JoinColumn(name = "idMagasin", insertable=false, updatable=false)
Magasin magasinPoint;
public ReparationMId getId(){
return this.idRM;
}
Here is ReparationMId the problem with my jsp :
@Embeddable
public class ReparationMId implements Serializable{
@Column(name="id")
Integer idReparation;
@Column(name="idMagasin")
Integer idMagasin;
//implements equals and hashCode
public Integer getIdReparation(){
return this.idReparation;
}
public Integer getIdMagasin(){
return this.idMagasin;
}...
And in my jsp i can't access to idRM to get idReparation :
<table align="center" ="3">
<tr><th>Client</th><th>Probleme</th><th>Date dépôt</th><th>Prix prévu</th><th>etat</th><th>Pieces utilisés</th></tr>
<c:forEach items="${reparations}" var="reparation">
<tr>
<td><c:out value="${reparation.nomc}"/>
<c:out value="${reparation.prenomc}"/></td>
<td><c:out value="${reparation.probleme}"/></td>
<td><c:out value="${reparation.prixPrevu}"/></td>
<td><c:out value="${reparation.etat}"/><td>
<c:set var="rmID" scope="page" value="${reparation.idRM}"/>
<td></td>
</tr>
</c:forEach>
</table>
you see the c:set is not working with a primite type like idClient it's ok but not with idRM of type ReparationMId. How to achieve that ?
The error :
There was an unexpected error (type=Internal Server Error, status=500). An exception occurred processing JSP page [/WEB-INF/view/reparation.jsp] at line [83] 80: 81: 82: 83: 84: 85: 86: Stacktrace:
Thanks.
EDIT : TOP OF PAGE JSP
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="../css/bootstrap.min.css" rel="stylesheet">
<link href="../css/style.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Lato|Playfair+Display|Catamaran" rel="stylesheet">
<title>Commandes station phone
</title>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
</head>
<body>
<header>
<!-- Masquée sur smartphones, taille 2 sur tablettes et plus -->
<nav class="navbar navbar-expand-lg navbar-light bg-light barimg">
<div class="container-fluid">
<div class="navbar-header">
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="index.html"><img src="../images/logo.png" alt="" class="logo"></a>
EDIT 2 : POM.XML
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.stationphone</groupId>
<artifactId>db</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>WebServiceStationPhone</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web-services</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.restdocs</groupId>
<artifactId>spring-restdocs-mockmvc</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
project structure :
So, simple My getter of class Reparation was getId() instead of getIdRM(). When you don't know it's somehow problematic it's good to know that. Thanks Avijit Barua for your help.