如何获得将数据传递给 mysql db 的 2 个单选按钮列表? Spring开机
How do I get 2 radiobutton list which pass data to mysql db? Spring Boot
这个的主要概念是:我想要有 2 个单选按钮列表。一个与培训师有关,另一个与培训师的活动有关。我有两个问题:
如何获得 2 个单选按钮列表,其中包含从 mysql 数据库中检索到的数据。
@Entity
@Table(name = "trainers")
public class Trainer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "name")
private String name;
@Column(name = "pt_done")
private Integer personalTraining;
@Column(name = "target")
private Integer target;
@Column(name = "sale")
private Integer sale;
@Column(name = "steps")
private Integer steps;
public Trainer() {}
//+getters and setters
}
public interface TrainerRepository extends JpaRepository < Trainer, Integer > {
@Query(value = "select name from trainers", nativeQuery = true)
List < Trainer > findByName() @Service
public class TrainerServiceImplementation implements TrainerService {
private TrainerRepository trainerRepository;
@Override
public List < Trainer > findByName() {
return trainerRepository.findByName();
}
@Controller @RequestMapping("/gym")
public class TrainerController {
@Autowired
private TrainerRepository trainerRepository;
@Autowired
private TrainerService trainerService;
@RequestMapping("/hello")
public String viewHomePage(Model theModel) {
theModel.addAttribute("trainers", trainerRepository.findByName());
return "welcome";
}
}
}
}
welcome.jsp
<form:form action="nextpage" modelAttribute = "trainers" method="POST">
<input type="radio" name="name" value="${trainers}"/> John Simson
我不知道如何从数据库中检索数据到单选按钮列表。我有四个教练。
我必须检查第一个单选按钮列表中的一个点和第二个单选按钮列表中的一个点。在我选择了 2 个选项后,我将重定向到新的 JSP 页面(如果选中个人培训 -> 重定向到 personaltraining.jsp,等等)
如何将数据传递给 mysql table,例如我选择了 John Simson 和 Personal Training,我将填写下一个 jsp 页 personaltraining.jsp,当我填写并发送时,我想将其保存在数据库中。
首先将 Spring Thymeleaf
添加到您的项目中。 (我认为 Spring JPA
存在。)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
以后在Trainer
实体里有个id会比较健康。 You can also have a look here.
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
为所有导师带来的资源库和服务可以是这样的。 (您还没有进行私人搜索!)
public interface TrainerRepository extends JpaRepository<Trainer, Integer> {}
public interface TrainerService {
List<Trainer> findAll();
}
@Service
public class TrainerServiceImpl implements TrainerService {
private final TrainerRepository trainerRepository;
public TrainerServiceImpl(TrainerRepository trainerRepository) {
this.trainerRepository = trainerRepository;
}
@Override
public List<Trainer> findAll() {
return trainerRepository.findAll();
}
}
@Controller
@RequestMapping("/gym")
public class TrainerController {
private final TrainerService trainerService;
public TrainerController(TrainerService trainerService) {
this.trainerService = trainerService;
}
@GetMapping("/hello")
public String viewHomePage(Model model) {
model.addAttribute("trainers", trainerService.findAll());
return "welcome";
}
}
现在,如果您将以下代码保存在 resources/templates' folder as
welcome.html` 中,您可以从数据库中看到培训师。
<!DOCTYPE HTML>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<body>
<div>
<form method="post">
<div>
<label>Trainers</label>
<div th:each="trainer : ${trainers}">
<div>
<input type="radio" name="trainer" th:value="${trainer.id}" th:text="${trainer.name}">
</div>
</div>
</div>
<button type="submit">Submit Form</button>
</form>
</div>
</body>
</html>
结果就是这个图
这个的主要概念是:我想要有 2 个单选按钮列表。一个与培训师有关,另一个与培训师的活动有关。我有两个问题:
如何获得 2 个单选按钮列表,其中包含从 mysql 数据库中检索到的数据。
@Entity @Table(name = "trainers") public class Trainer { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "name") private String name; @Column(name = "pt_done") private Integer personalTraining; @Column(name = "target") private Integer target; @Column(name = "sale") private Integer sale; @Column(name = "steps") private Integer steps; public Trainer() {} //+getters and setters }
public interface TrainerRepository extends JpaRepository < Trainer, Integer > { @Query(value = "select name from trainers", nativeQuery = true) List < Trainer > findByName() @Service public class TrainerServiceImplementation implements TrainerService { private TrainerRepository trainerRepository; @Override public List < Trainer > findByName() { return trainerRepository.findByName(); } @Controller @RequestMapping("/gym") public class TrainerController { @Autowired private TrainerRepository trainerRepository; @Autowired private TrainerService trainerService; @RequestMapping("/hello") public String viewHomePage(Model theModel) { theModel.addAttribute("trainers", trainerRepository.findByName()); return "welcome"; } } } }
welcome.jsp
<form:form action="nextpage" modelAttribute = "trainers" method="POST"> <input type="radio" name="name" value="${trainers}"/> John Simson
我不知道如何从数据库中检索数据到单选按钮列表。我有四个教练。
我必须检查第一个单选按钮列表中的一个点和第二个单选按钮列表中的一个点。在我选择了 2 个选项后,我将重定向到新的 JSP 页面(如果选中个人培训 -> 重定向到 personaltraining.jsp,等等)
如何将数据传递给 mysql table,例如我选择了 John Simson 和 Personal Training,我将填写下一个 jsp 页 personaltraining.jsp,当我填写并发送时,我想将其保存在数据库中。
首先将 Spring Thymeleaf
添加到您的项目中。 (我认为 Spring JPA
存在。)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
以后在Trainer
实体里有个id会比较健康。 You can also have a look here.
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
为所有导师带来的资源库和服务可以是这样的。 (您还没有进行私人搜索!)
public interface TrainerRepository extends JpaRepository<Trainer, Integer> {}
public interface TrainerService {
List<Trainer> findAll();
}
@Service
public class TrainerServiceImpl implements TrainerService {
private final TrainerRepository trainerRepository;
public TrainerServiceImpl(TrainerRepository trainerRepository) {
this.trainerRepository = trainerRepository;
}
@Override
public List<Trainer> findAll() {
return trainerRepository.findAll();
}
}
@Controller
@RequestMapping("/gym")
public class TrainerController {
private final TrainerService trainerService;
public TrainerController(TrainerService trainerService) {
this.trainerService = trainerService;
}
@GetMapping("/hello")
public String viewHomePage(Model model) {
model.addAttribute("trainers", trainerService.findAll());
return "welcome";
}
}
现在,如果您将以下代码保存在 resources/templates' folder as
welcome.html` 中,您可以从数据库中看到培训师。
<!DOCTYPE HTML>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<body>
<div>
<form method="post">
<div>
<label>Trainers</label>
<div th:each="trainer : ${trainers}">
<div>
<input type="radio" name="trainer" th:value="${trainer.id}" th:text="${trainer.name}">
</div>
</div>
</div>
<button type="submit">Submit Form</button>
</form>
</div>
</body>
</html>
结果就是这个图