我的.JSP文件中的select有问题:
<select class="selectpicker form-control" name="poiCategory" id="poiCategory"
data-size="10" data-live-search="true">
<option value="-1">Brak</option>
<c:forEach items="${categoryList}" var="category">
<option value="${category.id}" data-tokens="${category.name}">${category.parent.parent.name}
<b>→</b> ${category.parent.name}
<b>→</b> ${category.name}
</option>
</c:forEach>
</select>
引导程序4.1
Java Spring MVC
在控制器中:
System.out.println(request.getParameter("poiCategory"));
返回空值...
其他输入正常发送参数。
你能帮忙吗?
答案 0 :(得分:0)
尝试改用spring MVC <form:select/>
<form:select path="poiCategory">
<form:option value="-1" label="Brak"/>
<form:options items="${categoryList}" itemValue="name" itemLabel="category.parent.name"/>
</form:select>
此示例可能需要进行一些更改以满足您的需求,但我认为它应该可以工作。
要使用此标记库,您需要在jsp页面顶部添加以下指令
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
答案 1 :(得分:0)
您需要ModelAttribute
和spring forms
来完成工作。
这里是示例代码,其中从下拉菜单中选择了用户,并且在后端接收了它的值。
在JSP中:
<form:form action="someURL" modelAttribute="userform" method="POST">
<form:select path="username">
<form:option value="1"></form:option>
<form:option value="2"></form:option>
<form:option value="3"></form:option>
</form:select>
<input type="submit" />
</form:form>
在控制器中:
public void getSelectedUser(@ModelAttribute UserProfile user) {
System.out.println("in the select method " + user.getUsername()); // prints value 1/2/3
}
很少需要注意的是:
1:UserProfile是JAVA类,其字段为“用户名”。
2:我们应该在jsp的modelandview中添加“ userform”作为对象。
modelAndView.addObject(“ userform”,new UserProfile());
3:以spring形式编写路径并为其分配值,该值也是传递的类的字段。 (在这种情况下,它是“用户名”)。