如何在spring窗体中创建一组单选按钮?

kknvjkwl  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(287)

我正在创建一个测验应用程序,在那里我想在一个单选按钮列表中的选项组后,从数据库获取选项。下面是我的代码,以便分别从问题对象的选项列表中选择一个选项。
我想在一个页面中列出一组问题及其选项选项以及它们的相关问题。如果我选择一个问题的选项,我应该能够选择另一个问题的另一个选项。如何为每个问题选择单选按钮???

@Controller
public class ApiController {

@Autowired      
private QuestionRepository qr;    
    @Autowired
    private OptionRepository or;    
    @Autowired
    private ActivitiesCrudRepository acr;

    @RequestMapping("/questions")
    public String ShowQuestions(@ModelAttribute("questions") Question question) {

        return "questions";
    }

    @RequestMapping("/save")
    public String save(@ModelAttribute("questions") Question question) {

        qr.save(question);
        return "questions";
    }

    @RequestMapping("/pq")
    public String playQuiz(Model m, @ModelAttribute("questions") Question qsn) {

Iterable<Question> q = qr.findAll();

        System.out.println(q);
        m.addAttribute("q", q);
        return "play-quiz";

    }

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<!DOCTYPE web-app PUBLIC
    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page isELIgnored="false"%>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <form:form action="play" modelAttribute="questions">
        <c:forEach var="temp" items="${q}">
${temp.qsn_Name}<br>
            <c:forEach var="temp1" items="${temp.options}">
                <form:radiobuttons path="options[0].name" value="${temp1.name}"
                    items="${????????????}" />
                <br>
            </c:forEach>
            <br>
        </c:forEach>
        <input type="submit" value="submit">
    </form:form>
</body>
</html>
e37o9pze

e37o9pze1#

使用taglib函数时 form:radiobuttons 您不需要在radiobutton组中迭代所需的选项。
你可以替换

<c:forEach var="temp1" items="${temp.options}">
    <form:radiobuttons path="options[0].name" value="${temp1.name}"
        items="${????????????}" />
    <br>
</c:forEach>

具有

<form:radiobuttons path="options[0].name" items="${temp.options}" />

要意识到 form:radiobutton 创建一个按钮 form:radiobuttons 创造了整个团队。
见f.x。https://www.tutorialspoint.com/springmvc/springmvc_radiobuttons.htm 或者https://mkyong.com/spring-mvc/spring-mvc-radiobutton-and-radiobuttons-example/for 更多的例子。

相关问题