У меня есть приложение Spring MVC, которое я создаю, используя базу данных Oracle Spatial, содержащую трехмерные геометрии. Я использую Hibernate Spatial для доступа к нему, но, поскольку я новичок в Spring (и относительно новичок в Java), мне трудно получить доступ к координате z для моего представления. Код ниже:
Депозит.java
package com.example.project.model;
import com.vividsolutions.jts.geom.Point
import ...
@Entity
@Table(name="DEPOSITS")
public class Deposit {
@Id
@Column(name = "ID")
private int id;
@Column(name = "NAME")
private String name;
@Column(name = "GEOM",updatable = false)
@Type(type="org.hibernate.spatial.GeometryType")
private Point geometry;
public Point getGeometry() {
return geometry;
}
}
Депозитконтроллер.java
package com.example.project;
import ...
@Controller
public class DepositController {
private DepositService depositService;
@Autowired(required = true)
@Qualifier(value = "depositService")
public void setDepositService(DepositService ds) {
this.depositService = ds;
}
//Index
@RequestMapping(value = "/deposits", method = RequestMethod.GET)
public String listDeposits(Model model) {
model.addAttribute("listDeposits", this.depositService.listDeposits());
return "deposits/index";
}
}
депозиты/index.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<%@ page session="false" %>
<html>
<head>
<title>Deposits Page</title>
</head>
<body>
<c:if test="${!empty listDeposits}">
<table>
<tr>
<th>Deposit ID</th>
<th>Deposit Name</th>
<th>Longitude</th>
<th>Latitude</th>
<th>Height</th>
</tr>
<c:forEach items="${listDeposits}" var="deposit">
<tr>
<td>${deposit.id}</td>
<td>${deposit.name}</td>
<td>${deposit.geometry.x}</td>
<td>${deposit.geometry.y}</td>
<td>${deposit.geometry.coordinate.z}</td>
</tr>
</c:forEach>
</table>
</c:if>
</body>
</html>
Я знаю, что тип Point для JTS не раскрывает z-координату и что к нему можно получить доступ через объект координат. Код deposit.getGeometry().getCoordinates().z
работает, как заставить его работать для моего представления .jsp?
Спасибо