如何在 JSP 页面中从 Java 类中设置 hashmap 的值以便在控制器中进一步使用
Posted
技术标签:
【中文标题】如何在 JSP 页面中从 Java 类中设置 hashmap 的值以便在控制器中进一步使用【英文标题】:Howto set values of hashmap from Java class in JSP page for further usage in controller 【发布时间】:2012-12-13 07:05:30 【问题描述】:需要一些帮助来解决以下问题。
我有 Java 中的 Web 应用程序,带有 Spring(mvc、security)、Hibernate 等。 网页源在JSP中
我有一个变量索引列表,我需要为其设置值,然后自动处理它。比如说,客户以以下格式看到它们:
A1.1 - Description - Dropdown list(0, 0.5, 1)
A1.2 - Description - Dropdown list(0, 0.5, 1)
...etc
域对象是:
public class A1Model
private HashMap<Integer, Double> map;
//initilising, getter and setter for map object
我拥有的 JSP 页面:
<form:form modelAttribute="m1ChapterModel" method="POST" action="$saveUrl">
<c:forEach items="$m1ChapterModel.map" var="m1_parameter_i">
A1.$m1_parameter_i.key
<spring2:message code="M1.1.label"/>
<form:select path="$m1ChapterModel.map[m1_parameter_i.key]">
<form:option value="0"/>
<form:option value="0.5"/>
<form:option value="1"/>
....
当然,那是行不通的。问题是:
<form:select path="$m1ChapterModel.map[m1_parameter_i.key]">
问题是:如何修改 Java 类和 JSP 以使其正常工作?
【问题讨论】:
【参考方案1】:而不是
<form:select path="$m1ChapterModel.map[m1_parameter_i.key]">
使用
<form:select path="map[$m1_parameter_i.key]">
因为路径变量想要的是路径,而不是具体的值
【讨论】:
<form:select path="map[$m1_parameter_i.key]">
可以,谢谢您的快速回答!
对,你在表格里面,我去掉了“前缀”。以上是关于如何在 JSP 页面中从 Java 类中设置 hashmap 的值以便在控制器中进一步使用的主要内容,如果未能解决你的问题,请参考以下文章