Только начала разбираться со Spring. Пытаюсь добавить данные в БД и отобразить их списком на страничке.
/**
* Сущность
**/
@Entity
@Table(name = "que")
public class Que {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String queName;
private String queDescription;
public Que(){}
public Que(String queName, String queDescription) {
this.queName = queName;
this.queDescription = queDescription;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getQueName() {
return queName;
}
public void setQueName(String queName) {
this.queName = queName;
}
public String getQueDescription() {
return queDescription;
}
public void setQueDescription(String queDescription) {
this.queDescription = queDescription;
}
}
/**
* Репозиторий
*/
public interface QueRepo extends CrudRepository<Que, Long> {
}
/**
* Контроллер
*/
@Controller
public class QueController {
@Autowired
private QueRepo queRepo;
@GetMapping("/que")
public String createQue(Model model){
Iterable<Que> ques = queRepo.findAll();
model.addAttribute("ques", ques);
return "createQue";
}
@PostMapping("/que")
public String createQue(@RequestParam String queName,
@RequestParam String queDescription,
Model model){
Que que = new Que(queName, queDescription);
queRepo.save(que);
Iterable<Que> ques = queRepo.findAll();
model.addAttribute("ques", ques);
return "createQue";
}
}
<form method="post">
<input type="text" name="queName" class="form-control mt-3 col-sm-8 " placeholder="Name of que">
<input type="text" name="queDescription" class="form-control mt-3 col-sm-8" placeholder="Description">
<button class="btn btn-outline-info mt-3" formmethod="post" type="submit">Create</button>
</form>
<#list ques as que>
<strong>${que.queName}</strong>
<i>${que.queDescription}</i>
</#list>
Проблема: выдается ошибка Forbidden-403, больше никаких ошибок нет, не могу понять в чем дело и как это исправить?
Просто забыла добавить csrf_token в форме отправки в базу данных. Т.е. код freemaker должен был выглядеть так:
<form method="post">
<input type="hidden" name="_csrf" value="${_csrf.token}" />
<input type="text" name="queName" class="form-control mt-3 col-sm-8 " placeholder="Name of que">
<input type="text" name="queDescription" class="form-control mt-3 col-sm-8" placeholder="Description">
<button class="btn btn-outline-info mt-3" formmethod="post" type="submit">Create</button>
</form>
Не забывайте csrf если используете Spring Security
Виртуальный выделенный сервер (VDS) становится отличным выбором
Передо мной предстала следующая задача: написать некоторый софт на Java, с применением GUI на JavaFXодной из функций будущей программы должна быть...