如何从表单发送对象作为属性

时间:2018-05-24 13:59:07

标签: java spring hibernate

Spring,Hibernate。 我有一个QuestionEntity,它包含另一个实体(TestEntity):

public class QuestionEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;

@Column(name = "question_text")
private String questionText;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "test_id")
private TestEntity testEntity; ...}

从html页面我想将TestEntity添加为Object(逻辑是:测试有问题)

<form name="question" action="/exam/addQuestion/" method="post">
Текст вопроса:<br>
<input type="text" name="questionText.text">
<input type="hidden" name="testEntity" value="${testEntity}">
<input type="submit" name="addTest" value="add">

Reciving:

    @PostMapping("addQuestion")
public String addQuestion(@ModelAttribute ("question") QuestionEntity questionEntity){
    testService.saveOrUpdate(questionEntity);
    return "redirect:/exam/getall";
}

但是spring将$ {testEntity}作为String获取,所以我有错误:

  

字段'testEntity'上的对象'question'中的字段错误:被拒绝的值   [TestEntity {id = 3,name ='Узнайсвойпсихотип'}];代码   [typeMismatch.question.testEntity,typeMismatch.testEntity,typeMismatch.exampro.entity.TestEntity,typeMismatch];   参数   [org.springframework.context.support.DefaultMessageSourceResolvable:   代码[question.testEntity,testEntity];参数[];默认消息   [testEntity]];默认消息[无法转换属性值   输入'java.lang.String'到必需的类型'exampro.entity.TestEntity'   对于'testEntity'属性;嵌套异常是   java.lang.IllegalStateException:无法转换类型的值   'java.lang.String'到必需的类型'exampro.entity.TestEntity'   property'testEntity':没有匹配的编辑器或转换策略   发现]

发送怎么回事?非常感谢任何帮助。

0 个答案:

没有答案