【发布时间】:2010-02-17 13:16:34
【问题描述】:
有没有办法使用 spring 的 form.select 为另一种类型的 bean 绑定 bean 属性。 示例:
我有一个需要在视图中使用名为 BeanB 的属性更新的 bean:
public class BeanA {
private BeanB bean;
private int id;
private void setId(int id){
this.id = id;
}
private int getId(){
return this.id;
}
public void setBean(BeanB bean){
this.bean = bean;
}
public BeanB getBean(){
return this.bean;
}
}
public class BeanB{
private int id;
private void setId(int id){
this.id = id;
}
private int getId(){
return this.id;
}
}
对于视图,我想发送一个 BeanB 列表以使用 spring 的表单控制器进行选择:
public class MyController extends SimpleFormController{
protected ModelAndView handleRenderRequestInternal(RenderRequest request, RenderResponse response) throws Exception {
BeanA bean = new BeanA();
//... init the bean or retrieve from db
List<BeanB> list = new ArrayList<BeanB>();
//... create list of objects
ModelAndView modelAndView = super.handleRenderRequestInternal(request, response);
modelAndView.getModel().put("beans", list);
modelAndView.getModel().put("bean", bean);
return modelAndView ;
}
}
在 jsp 中,我想使用 form.select 从给定列表中选择要为 BeanA 设置的项目,例如:
<form:select path="${bean.bean}" items="${beans}"/>
它看起来不像这样工作。还有其他简单的解决方案吗?
【问题讨论】:
标签: java spring spring-mvc