Java jsp中的hashmap属性输入
我的实体类是ResultJava 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
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>