2016-08-06 25 views
1

Ich habe doppelte Fragen angeschaut, konnte mich aber nicht auf mein Problem beziehen. Ich bin neu bei Spring MVC. Mein Controller-Code istWie bekomme ich den feder mvc controller model key value in der template javascript?

@RequestMapping(value = "/employee/add", method = RequestMethod.POST) 
public String addNewPost(Employee emp, BindingResult bindingResult, Model model) 

{ 

empr.save(emp); 

model.addAttribute("Employees", empr.findAll()); 
System.out.println(empr.findAll()); 

return "display"; 

} 

Mein JavaScript-Code ist

<script type="text/javascript"> 

var data1 = []; 
$(document).ready(function(){ 
var emp = ${Employees};//shows Uncaught SyntaxError: Unexpected token { in this line 

ich Bezug auf Mitarbeiter Schlüssel zu bekommen, die durch model.addAttribute gesendet wird. Wie kann das gemacht werden? Es funktioniert gut in HTML, obwohl thymeleaf verwendet. Vielen Dank. Ich verwende STS 3.8.1 mit jquery-1.11.1.min.js und Spring-Boot-Starter-Thymeleleaf 1.4.0 Release.

<p th:each="emp : ${Employees}"> 
<h4>ID:</h4> 
<div th:text="${emp.id}"></div> 
<h4>Title:</h4> 
<div th:text="${emp.name}"></div> 
<h4>Content:</h4> 
<div th:text="${emp.address}"></div> 
<h4>Salary:</h4> 
<div th:text="${emp.salary}"></div> 
<div>---------------------------------------------------------</div> 

</p> 

Antwort

0

Ich denke, Ihr Script-Tag ist in thymleaf verwendete HTML File- Sie dies tun können, damit es funktioniert:

<script th:inline="javascript"> 
    /*<![CDATA[*/ 
    var emp = [[${Employees}]]; 
    /*]]>*/ 
</script> 

Der CDATA Teil (beachten Sie, dass es auch kommentiert) erzählt thymeleaf, um diesen Abschnitt während der XML-Validierung zu ignorieren.

Und wickeln Sie die können Sie dies in einem Skript-Tag schreiben.