Я много искал, но не нашел, казалось бы, простого ответа на следующую проблему:
Я использую Thymeleaf с Bootstrap, Spring boot и Java. Все дело в статусной карточке вилки. Он должен показывать состояние с помощью цвета (работает) и обновлять его самостоятельно через определенный интервал (кажется, работает), а также должен быть доступен для вызова функции включения и выключения (не работает) Что не так? Пожалуйста, помогите мне
HTML:
<div class="col-sm" id="checkIt" th:action="@{/controll}">
<div class="card text-white mb-3" th:classappend="${state} ? bg-success : bg-danger" style="max-width: 18rem;">
<div class="card-header">Plug</div>
<div class="card-body">
<h5 class="card-title">
</h5>
<p class="card-text">-> <a href="" class="stretched-link"></a></p>
</div>
</div>
</div>
<script>
function updateStates() {
$.get("state", function(fragment) { // get from controller
$("#checkIt").replaceWith(fragment); // update snippet of page
});
}
setInterval(updateStates, 5000);
</script>
Java:
@RequestMapping(value="/state", method=RequestMethod.GET)
public String getState(ModelMap map){
try {
if (plug.readState() == 1)
map.addAttribute("state", true);
else
map.addAttribute("state", false);
} catch (IOException e) {
e.printStackTrace();
}
return "index :: #checkIt";
}
@RequestMapping(value="/controll")
@ResponseStatus(value = HttpStatus.OK)
public void controllP() {
try {
if (plug.readState() == 1)
plug.switchOff();
else
plug.switchOn();
} catch (IOException e) {
e.printStackTrace();
}
}