【问题标题】:Getting value from form select option tag in Spring MVC controller从 Spring MVC 控制器中的表单选择选项标签中获取值
【发布时间】:2022-01-25 20:42:30
【问题描述】:

我想从 mySQL 数据库中获取我的学期 id 值,为此我使用: <option value="${semester.id}">${semester.name}</option> 我需要将 id 作为属性放入我的方法中以获取本学期的其他数据。由于某种原因,我不能这样做,很可能不是 jsp 中的正确请求。非常感谢,请帮我解决这个问题!对于任何建议的解决方案,我将不胜感激。

MyController 从数据库中获取日期

   @RequestMapping("/chooseSemester")
    public String chooseSemester(@RequestParam("semId")int id,Model model){
        List<Semestr> semestr = service.getSemestr();
        model.addAttribute("semestr", semestr);
        List<Discipline> allDisciplines = service.getDisciplineSemestrId(id);
        model.addAttribute("allDisc", allDisciplines);
        return "semestr";
    }

JSP 页面

<!DOCTYPE html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--<%@ taglib prefix="form" uri="http://java.sun.com/jstl/xml_rt" %>--%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@page isELIgnored="false" %>

<div class="link_container">
    <table>
        <tr>
            <td><a href="/home">Home</a></td>
        </tr>
    </table>
</div>
<div class="terms_list_container">
    <table cellspacing="0" style="margin-top: 20px">
        <tr>
            <td style="font-size: large;">Select semester</td>
            <td style="padding-left: 50px">
                <select>
                    <c:forEach items="${semestr}" var="semestr">
                            <option value="${semestr.id}">${semestr.name}</option>
                    </c:forEach>
                </select>
            </td>
            <td style="padding-left: 20px"><input type="submit"
                                                  value="Select" id="button" onclick="window.location.href = '${chooseButton}'"></td>
        </tr>

【问题讨论】:

    标签: spring spring-mvc


    【解决方案1】:

    从我的 jsp 页面获取数据的问题已解决,需要正确的包装器,解决方案如下所示:

     <form action="${pageContext.request.contextPath}/allSemestrsSem" method="get">
                <tr>
                    <td style="font-size: large;">Select semester</td>
                    <td style="padding-left: 50px">
    
                        <select name="selectSemestr">
    
                            <c:forEach items="${semestr}" var="semestr">
                                <option value="${semestr.id}">${semestr.name}</option>
                            </c:forEach>
    
                        </select>
                    </td>
                    <td style="padding-left: 20px">
                        <security:authorize access="hasRole('ADMIN')">
                        <input type="submit" id="button" value="select"/></td>
                    </security:authorize>
                </tr>
            </form>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-21
      • 1970-01-01
      相关资源
      最近更新 更多