Я новичок в Spring boot и планирую создать приложение School managem anet с использованием Spring boot и Mysql. Однако я застрял при отправке данных ученика в свою категорию. Я собираюсь создать таблицу под названием "Faculty" и Я собираюсь отправить данные из таблицы «Студент». Таким образом, в addStudent / form я хочу выбрать желаемый факультет с опцией select. Я попробовал это:
Буду благодарен, если вы отправите мне полную информацию относительно отправки данных в категорию, используя опцию select в форме.
StudentController.class
package io.adu.Controllers;
import java.lang.reflect.Method; import java.util.Arrays; import
java.util.List;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired; import
org.springframework.stereotype.Controller; import
org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import
org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import
org.springframework.web.bind.annotation.PathVariable; import
org.springframework.web.bind.annotation.PostMapping; import
org.springframework.web.bind.annotation.RequestBody; import
org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import io.adu.DAO.Faculty;
import io.adu.DAO.Student;
import io.adu.DAO.User;
import io.adu.Repository.FacultyRepository;
import io.adu.Repository.StudentRepository;
import io.adu.Service.StudentService;
@Controller
public class StudentController {
@Autowired
StudentService service;
@Autowired
FacultyRepository repository;
@Autowired
StudentRepository studentRepository;
@GetMapping("/addStudent")
public String viewStudentsList(Model model) {
List<Student>students = studentRepository.findAll();
List<Faculty>faculties = repository.findAll();
model.addAttribute("addstudent",true);
model.addAttribute("students",students);
model.addAttribute("faculties",faculties);
return "addStudent";
}
@PostMapping("/addStudent")
public String showStudents(@Valid @ModelAttribute("addStudent")Student student,BindingResult result,ModelMap model){
Student student = new Student();
List<Faculty>faculties = repository.findAll();
model.addAttribute("Student",student);
model.addAttribute("faculty",new faculty());
model.addAttribute("addstudent",true);
service.addStudent(student);
return "addStudent";
}
StudentEntity.class
@Entity
@Table(name="student")
public class Student implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name="student_id")
private int id;
@Column(name="student_name")
private String name;
@Column(name="student_email")
private String email;
//@Column(name="student_name")
//private String faculty;
@Column(name="paid_amount")
private String paidamount;
@GeneratedValue(strategy=GenerationType.IDENTITY)
@ManyToOne
@JoinTable(name = "faculty_students",
joinColumns = @JoinColumn(name = "student_id"),
inverseJoinColumns = @JoinColumn(name = "faculty_id"))
private Faculty faculty;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getFaculty() {
return faculty;
}
public void setFaculty(String faculty) {
this.faculty = faculty;
}
public String getPaidamount() {
return paidamount;
}
public void setPaidamount(String paidamount) {
this.paidamount = paidamount;
}
}
StudentForm. html
<form th:action="@{/addStudent}" th:Object="${addStudent}" method="post">
<div class="card-body card-block">
<div class="form-group">
<label for="company" class=" form-control-label">Ismi</label>
<input type="text" id="company" placeholder="Talaba ismini kiriting" class="form-control">
</div>
<div class="form-group">
<label for="vat" class=" form-control-label">To'langan summa</label>
<input type="text" id="vat" class="form-control">
</div>
<div class="form-group">
<label for="street" class=" form-control-label">fakulteti</label>
<select class="form-control" th:field="${addStudent.faculties}" th:disabled="${disableFields}">
<option th:each="faculty :${faculties}" th:value="${faculty.facultyId}" th:text="${faculty.FacultyName}">
</option>
</select>
</div>
<div class="row form-group">
<div class="col-8">
<div class="form-group">
<label for="city" class=" form-control-label">Elektron pochtasi</label>
<input type="text" class="form-control">
</div>
</div>
<div class="col-8">
<div class="form-group">
<label for="postal-code" class=" form-control-label">Status</label>
<input type="text" placeholder="Budjed-Kontrakt" class="form-control">
</div>
</div>
</div>
<div class="form-group">
<label for="country" class=" form-control-label">Tugilgan Sana</label>
<input type="text" id="country" class="form-control">
</div>
<button type="submit" class="btn btn-primary btn-sm">
<i class="fa fa-dot-circle-o"></i> Submit
</button>
</div> </form>
Я что-то не так делаю? Например, у меня есть несколько имен категорий в таблице факультетов, и я хочу выбрать одно из них в addStudent / form для отправки данных с другой информацией