有沒有什麼辦法可以在Spring MVC中通過<form:options>
選擇下拉列表中的當前值?Spring MVC窗體:選擇所選值?
10
A
回答
6
5
這裏是我修復這個問題。其巨大的,但它的工作原理
性別:從Java模型預選賽
// model.addAttribute("genders", genders);
賬號:綁定的ModelAttribute春天形式
FMT:消息:翻譯米到 「米斯」 (愛沙尼亞語)
<form:select path="cfGender">
<c:forEach var="item" items="${genders}">
<c:choose>
<c:when test="${account.getCfGender().getCfGender()==item.getCfGender()}">
<form:option selected="true" value="${item.getCfGender()}">
<fmt:message key="cf_gender.${item.getCfGender()}" />
</form:option>
</c:when>
<c:otherwise>
<form:option value="${item.getCfGender()}">
<fmt:message key="cf_gender.${item.getCfGender()}" />
</form:option>
</c:otherwise>
</c:choose>
</c:forEach>
</form:select>
0
在將表單綁定到模型之前,應該將您想要選擇的變量設置爲jsp控制器中所需的值。
Form form = new Form();
form.setFoo("bar");
model.addAttribute("form", form);
當表單在jsp中生成時,該表單變量將作爲選項列表中的默認選定值。
2
試試這個,它爲我工作
<form:select path="size">
<c:forEach items="${sizeList}" var="s" varStatus="status">
<c:choose>
<c:when test="${s eq 25}">
<option value="${s}" selected="true">${s}</option>
</c:when>
<c:otherwise>
<option value="${s}">${s}</option>
</c:otherwise>
</c:choose>
</c:forEach>
</form:select>
+1
謝謝 - 我一直試圖弄清楚這一整天! –
+1
順便說一句,這種方法的一個優點是你可以顯示多個選擇。 –
5
沒有必要的if else
示例使用:
Student student = new Student();
student.gender = "F";
model.addObject("student", student);
Map<String, String> genders = new LinkedHashMap<String, String>();
genders.put("M", "Male");
genders.put("F", "Female");
model.addObject("genders", genders);
JSP代碼
modelAttribute
& commandName
是互換
<c:url value="/Student/Edit" var="editstudenturl"/>
<form:form method="post" action="${editstudenturl}" modelAttribute="student" class="form-horizontal">
<form:select path="gender" class="form-control" id="gender" >
<form:options items="${genders}" />
</form:select>
</form:form>
2
我有類似的問題,之後與它作戰的幾天裏,我能夠在我的模型類實現散列和平等的方法來解決它。問題在於,彈簧無法確定下拉菜單中的項目與模型中的值相等。但在模型對象中實現哈希和等於之後,一切正常。
@Entity
@Table(name = "BANKS")
public class Bank implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = -8928809572705999915L;
private Long id;
private String bankCode;
private String bankName;
...........
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((bankCode == null) ? 0 : bankCode.hashCode());
result = prime * result
+ ((bankName == null) ? 0 : bankName.hashCode());
result = prime * result + ((id == null) ? 0 : id.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Bank other = (Bank) obj;
if (bankCode == null) {
if (other.bankCode != null)
return false;
} else if (!bankCode.equals(other.bankCode))
return false;
if (bankName == null) {
if (other.bankName != null)
return false;
} else if (!bankName.equals(other.bankName))
return false;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
return true;
}
並在視圖我有這樣的事情
<form:select path="bank" cssClass="form-control" required="true">
<form:option value="">--Select--</form:option>
<form:options items="${banks}" itemLabel="bankName"
itemValue="bankCode" />
</form:select>
相關問題
- 1. Spring MVC Table選擇行
- 2. Thymeleaf + Spring如何從窗體選擇選項值傳遞給控制器@PathVariable
- 3. jquery窗體onchange選擇值變化
- 4. Rails窗體兩個選擇一個值
- 5. $ _POST值從窗體選擇不工作
- 6. kohana窗體選擇附加值
- 7. 選擇窗體數組值使用jQuery
- 8. Spring MVC的RequestParam可選值
- 9. Spring MVC的<形式:選項>選擇價值
- 10. 如何選擇窗體頁
- 11. 選擇Laravel窗體編輯
- 12. 窗體:sfWidgetFormDoctrineChoice,選擇方法
- 13. 窗體選擇選項需要
- 14. Xcode字體選擇器窗口無法選擇字體集合
- 15. ASP.NET MVC Html.DropDownListFor選擇值
- 16. Spring MVC - 選擇性格式化
- 17. @ModelAttribute Spring MVC多選擇不設置ArrayList
- 18. 通過枚舉在Spring MVC中選擇
- 19. 在Spring MVC中選擇原生查詢
- 20. 選擇基於URL的Spring MVC佈局
- 21. 如何綁定Spring窗體:複選框而不是窗體:複選框?
- 22. 實體/值對象選擇
- 23. Angularjs默認選擇所選值
- 24. 彈簧形式:選擇所選值
- 25. 窗體:在春天選擇項目問題mvc portlet
- 26. 如何使用窗體:選擇彈簧mvc
- 27. 春天MVC無法使用窗體:選擇對象列表
- 28. 使用Angular JS在ASP.NET MVC窗體中提交多個複選框選擇
- 29. jquery窗體:選擇菜單無法顯示選定的選項
- 30. Spring MVC:接收單選按鈕值
問題不清楚。什麼是'當前價值'。你想在哪裏選擇它? – Bozho