【发布时间】:2015-03-24 04:23:33
【问题描述】:
我的程序有什么问题?我得到错误
HTTP Status 500 - Request processing failed; nested exception is javax.validation.UnexpectedTypeException: HV000030: No validator could be found for type: java.lang.Long.
而且不知道如何解决...在堆栈跟踪上,我编写的唯一类是
myapp.spring.controllers.PostFormController.processForm(PostFormController.java:66)
而这一行是
validator.validate(p, result);
Post.java
// imports
@Entity
@Table(name="posts")
public class Post implements Serializable
{
/* **********************************
* ------------ fields ------------ *
************************************/
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private long id;
@Past
@Column(name="date")
private Date date;
@NotBlank
@Size(min=3, max=20)
@Column(name="author")
private String author;
@NotBlank
@Column(name="content")
private String content;
@NotBlank
@Column(name="topic")
private String topic;
@NotBlank
@Column(name="thread_id")
private long thread_id;
@ManyToOne
@JoinColumn(name="name")
@Valid
private PostType type;
/* ***************************************
* ---------- getters setters ---------- *
*****************************************/
// cut //
}
blah blah blah 无法添加,因为帖子中的代码太多:S
【问题讨论】:
-
和
p是 Long,对吗?您期望 Long 变量的验证做什么?错误信息中有什么你不明白的地方? -
p是来自 http 方法 POSTpublic String processForm(Model model, @ModelAttribute("post") Post p, BindingResult result)的Post类型 -
给我们看Post的代码
-
@JBNizet pastebin.com/pJhiAh3R
-
您的问题没有提供足够的信息让我们理解和帮助解决您的问题。带有 Spring 配置文件的完整代码示例会很有帮助。如果代码太长,尽量去掉不影响问题的部分。
标签: java spring hibernate jsp validation