Czesć,
Mam pytanie. Jak zrobić dropdown list w Springu MVC + REST bez dodawania do 'Model' chodzi mi o to że zwracam po prostu stan.
Czyli jeśli mam metode wypisującą Liste osób za pomocą Json'a to jak to wpleść w html. Szukałem ale wszystkie przykłady odwołują się do dodawania tego Modelu.
Hasło na dziś - AJAX. Możesz użyć na przykład JQuery. Po odebraniu tego obiektu wrzucasz go po prostu do twojej listy.
$.get({url: "twojastronka.io", success: function(result){
for(entry in result) {
$("#superlista").append("<li>" + entry + "</li>");
}
}});
Mam nadzieję, że nie pokręciłem, a jeśli tak to jeszcze lepiej, sam będziesz musiał pomyśleć ;)
HELP ! Bo zaraz wyjde z siebie :p
Moja JSP:
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE HTML>
<html data-ng-app="myApp">
<head lang="pl">
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>Konfiguracja samochodu</title>
<!-- Implementacja style.css -->
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/style.css" type="text/css" />
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script src="webapp/js/app.js"></script>
<!-- Odpowiedzialne za ustawienie stylu czcionki z google -->
<link href='http://fonts.googleapis.com/css?family=Lato|Josefin+Sans&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
</head>
<body data-ng-controller="MyController">
<div id="header" >
<div class="zerowyKafelek" data-ng-init="getCarList()">
<a href="#" class="tilelink">Modele</a>
<div class="zerowyKafelek-content">
<a data-ng-repeat="car in getAllCar" value="{{car.id}}">{{car.carModel}}</a>
</div>
</div>
</div>
============================================
app.js
var app = angular.module('myApp', []);
app.controller('MyController', function($scope, $http) {
$scope.getCarList = function() {
$http({method: 'GET', url: '/cars/all'}).
success(function(data, status, headers, config) {
$scope.personDatas = data;
}).
error(function(data, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
};
});
============================
Controller:
@RestController
@RequestMapping(value = "/cars")
public class carController {
@RequestMapping(value = "/all", method = RequestMethod.GET)
public List<car> getAllCar()
{
System.out.println("Gitmalina");
return carService.getAllCar();
}
Jedynie co mi się wyświetla w dropdownie to {{car.carModel}} :(
Niech controller produkuje mediatype json .
To jest problem z angularem, sprawdz czy {{2+2}} wyswitli 4. Jesli nie to zle cos podpiales :)
Jeśli używasz Angulara i w przeglądarce widzisz {{foo}}, to oznacza:
- Nie używasz Angulara, prawdopodobnie źle podlinkowałeś.
- Aplikacja ci się wysypała. Wejdź do konsoli (F12) i zobacz co poszło nie tak.
Bosz na co ci jsp w angularze?
Zrób normalnie html + angular a nie cudujesz :D
Próbowałem zrobić to w html lecz kiedy opadałam projekt mam 404 i info że dispatcher servlet nie znalazł mi html'ki :/
Bo może masz źle skonfigurowane statyczne zasoby?
Jak próbujesz sie dostać do html?