【发布时间】:2019-08-18 02:40:29
【问题描述】:
当向 JSP 页面发送一个对象时,持久性和瞬态字段被忽略了。我可以在 Java 端看到这些变量是用数据填充的,但是一旦到达 JSP 页面,就会丢失一些值,特别是每个未映射到列的字段。
集团实体
@Entity
@Table(name="groups")
@XmlRootElement
public class Groups {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="groupsSeqGen")
//TODO: I dont think H2 is having the sequences auto generated. Need to add these manually.
@SequenceGenerator(name="groupsSeqGen",sequenceName="groups_sequence", initialValue = 10, allocationSize = 100)
private Long id;
@Column(name="name")
private String name;
@Column(name="create_date")
private Date createDate;
@Column(name="owner_user")
private String ownerUser;
@Column(name="is_public")
private Boolean isPublic;
@Column(name="description")
private String description;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "ownerGroup")
private List<Books> books;
}
请求映射
@RequestMapping("/Mygroups")
public ModelAndView getMyGroup() {
ModelAndView mav=new ModelAndView();
mav.addObject("groups", appservice.findMyGroups()); //This returns the groups!
mav.setViewName("myGroups");
return mav;
}
我的 JSP 页面可以读取组。这里只是一个想法,是我打印对象时的控制台输出。
Groups [id=1, name=Club 1, createDate=2019-08-01 00:00:00.0, description=Club 1 desc, isPublic=true, ownerUser=user1]
我尝试过的。
添加@transient 和@XMLTransient 标签。
以不同的方式连接列。
更改 Fetch 类型(这无关紧要,我只是在此时更改随机内容)
另一个奇怪的部分是当我使用表单写入对象时,我可以很好地设置这些字段!也许是因为 Javascript 只是设置字段而不管它是否匹配,并且当它匹配时 Java 读取它时它可以正常工作?
【问题讨论】:
标签: spring spring-boot spring-mvc jsp jpa