Forms Spring3MVC嵌套表单:选择

Forms Spring3MVC嵌套表单:选择,forms,spring,spring-mvc,Forms,Spring,Spring Mvc,在我的场景中,我正在JSP上开发绑定到bean的嵌套select: Bean public class WizardPanelp1Bean { private Integer id; private Stringofpanels stringofpanels; private Paneltype paneltype; private Integer number; private String paneltypestring; //and getters/setters... [Omitted

在我的场景中,我正在JSP上开发绑定到bean的嵌套select:

Bean

public class WizardPanelp1Bean {

private Integer id;
private Stringofpanels stringofpanels;
private Paneltype paneltype;
private Integer number;
private String paneltypestring;
//and getters/setters... [Omitted]
现在我有了Paneltype对象,另一个简单的bean

面板类型

private Integer id;
private double peakpower;
private double weight;
private String name;
private double dimension;
private double conversion;
private Set functions = new HashSet(0);
private Set sensors = new HashSet(0);
private Set panels = new HashSet(0);
//[Getters/setters omitted as usual]
因此,我使用名为wb 面板的简单阵列列表

 public class PanelsBean {
    private ArrayList<WizardPanelp1Bean> panels =new ArrayList<WizardPanelp1Bean>();
但是代码从来没有达到这个程度。这就像jsp确定值为
null


建议?谢谢

我认为当您尝试提交此表单而未在模型中获取绑定值时,您的问题仍然存在

尝试使用LazyList初始化列表。请在PanelsBean类中替换您的panels声明,如下所示

private List<WizardPanelp1Bean> panels = LazyList.decorate(new ArrayList<WizardPanelp1Bean>(),FactoryUtils.instantiateFactory(WizardPanelp1Bean.class));
private List panels=LazyList.decoration(new ArrayList(),FactoryUtils.instancefactory(WizardPanelp1Bean.class));
希望这对你有帮助。干杯。

我想我错过了后面的name=“”,但现在我无法确定结果
@InitBinder
    protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception {
            binder.registerCustomEditor(Paneltype.class, "paneltype", new PropertyEditorSupport() {
                @Override
                public void setAsText(String text) {
                    int i=0;
                    PaneltypeDAO pDAO=new PaneltypeDAO();
                    setValue(pDAO.findById(Integer.parseInt(text)));
                }
            });
        }
private List<WizardPanelp1Bean> panels = LazyList.decorate(new ArrayList<WizardPanelp1Bean>(),FactoryUtils.instantiateFactory(WizardPanelp1Bean.class));