如何解决如何获得将数据传递给 mysql db 的 2 个单选按钮列表?弹簧靴
这个的主要概念是:我想要 2 个单选按钮列表。一个有培训师,另一个有培训师的活动。我有两个问题:
-
如何使用从 mysql db 检索的数据获取 2 个单选按钮列表。
@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 表,例如我选择了John Simson和Personal Training,我会填写下一个jsp页面personaltraining.jsp,当我填写并发送时,我想将其保存在db中。
解决方法
首先将 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>
结果将如下图所示。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。