Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jsp中的hashmap属性输入_Java_Jsp_Input_Hashmap - Fatal编程技术网

Java jsp中的hashmap属性输入

Java jsp中的hashmap属性输入,java,jsp,input,hashmap,Java,Jsp,Input,Hashmap,我的实体类是Result package com.domain; import java.io.Serializable; import java.util.HashMap; import javax.persistence.Entity; import javax.persistence.Id; @Entity public class Result implements Serializable { @Id private Long id; pu

我的实体类是Result

package com.domain;

import java.io.Serializable;
import java.util.HashMap;
import javax.persistence.Entity;
import javax.persistence.Id;


  @Entity
   public class Result implements Serializable {
    @Id
    private Long id;

      public Student getStudent() {
        return student;
       }

      public void setStudent(Student student) {
        this.student = student;
       }

    public HashMap<String, Integer> getMark() {
        return mark;
    }

    public void setMark(HashMap<String, Integer> mark) {
        this.mark = mark;
    }

    private Student student;
    private HashMap<String,Integer> mark;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
     }

   }
我的JAVA服务器页面文件是

 <html>
      <head>
        </head>
         <body>
           <form:form method="post"  
                      action="add_subject_mark" 
                      commandName="Result">

           </form:form>
         </body>
    </html>


现在,我如何使用结果实体的hash-map属性来获取jsp文件中的输入。

您需要将JSTL合并到您的项目中来实现这一点,而无需使用scriptlet(应该避免)

在页面顶部添加指令:

<c:forEach var="mark" items="${Result.mark}">
    <form:input path="Result.mark['${mark.key}']"/>
</c:forEach>

以及您的
pom.xml
中的依赖项:

<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

jstl
jstl
1.2
然后在页面上使用以下JSTL标记:

<c:forEach var="mark" items="${Result.mark}">
    <form:input path="Result.mark['${mark.key}']"/>
</c:forEach>

这可以通过两种不同的方法完成 1) 便笺 2) JSTL标签

1) 便笺



我知道如何获取hashmap,但我想知道如何将其用于表单输入字段?如何将其用于表单输入字段。请参阅更新,但您需要在传递映射之前添加键。如果您知道这些键,只需将它们硬编码为:
,然后忽略循环。
<html>
  <head>
    </head>
     <body>
       <form:form method="post" action="add_subject_mark" commandName="Result">
            <%
                Result result = (Result) request.getAttribure("Result");
                HashMap<String,Integer> mark = result.getMark(); //There u got the HashMap

             %>
       </form:form>
     </body>
</html>