【发布时间】:2012-04-11 17:04:11
【问题描述】:
我正在使用 Spring 3.1.0.RELEASE 和 Hibernate 4.0.1.Final。我想在控制器中调用一个搜索方法,该方法将搜索 bean(下面的事件 bean)作为输入......
@RequestMapping(value = "/search_results.jsp")
public ModelAndView processSearch(final HttpServletRequest request, final Event searchBean, final BindingResult result) {
...
}
事件 bean 包含以下字段 ...
@Entity
@Table(name = "EVENTS")
public class Event implements Comparable {
...
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name="EVENT_FEED_ID")
private EventFeed eventFeed;
...
}
其中 EventFeed 对象包含以下字段...
@Entity
@Table(name = "EVENT_FEEDS")
public class EventFeed {
@Id
@Column(name = "ID")
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
@NotEmpty
@Column(name = "TITLE")
private String title;
...
}
如何构造一个 URL 以填充搜索 bean 的 Event.getEventFeed().getId() 字段?
我意识到我可以使用“eventFeedId=2”之类的参数提交 GET 请求并手动填充所有内容,但由于其他页面正在提交填充命令对象的请求,我想继续使用相同的逻辑。
【问题讨论】:
-
"... 手动填充所有内容,但由于其他页面正在提交填充命令对象的请求”是您的问题:“我如何从数据库中加载 EventFeed?” ? -- 如果您还有其他问题,能否请您更准确地提出问题:因为您的正式问题的答案是
?event.eventFeed.id=1&event.eventFeed.title=hallo- 但我认为这不是您想知道的。 -
是的,“?event.eventFeed.id=1&event.eventFeed.title=hallo”是我想知道的,除了我在下面指出的,我试过了,Event.getEventFeed() bean 没有被填充。
标签: spring search command-objects