如何在 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]">

因为路径变量想要的是路径,而不是具体的值

【讨论】:

&lt;form:select path="map[$m1_parameter_i.key]"&gt; 可以,谢谢您的快速回答! 对,你在表格里面,我去掉了“前缀”。

以上是关于如何在 JSP 页面中从 Java 类中设置 hashmap 的值以便在控制器中进一步使用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JSP 页面中设置我自己的值的字段?

如何覆盖 iframe 中设置的 css 类? [复制]

如何在本机反应中从平面列表中设置 Json 数组

JSP中设置超链接失效点击进入下载页面的问题

在MyEclipse中设置jsp页面为默认utf-8编码

我正在使用eclipse扩展newWizard,如何在java中设置向导对话框大小?