0

我有一个弹簧表单名称 UpdateStock.jsp

<form:form........>
 <form:input path="compAmount"/>
 ............
</form:form>

我的意图是用数据库中的一些默认值初始化上面的弹簧表单文本框。所以我有表单文本标签

   <form:input path="compAmount" value=${compamount}/>

这里 ${compamount} 是 referenceData() 方法返回的值之一。但问题是 value=${compamount} 无效。

所以我离开它并执行以下操作:

即在reference_Data()方法中初始化Object 命令对象,如下所示。但它不起作用。

protected Map reference_Data(HttpServletRequest request, Object command,Errors errors, int page) throws Exception {

   UpdateStockBean bean=new UpdateStockBean();//which is correspond to UpdateStock.jsp page

   bean.setCompAmount(300);//this do not change the value of corresponding field
   command=new Object();
   command=(Object)bean;

}

你能提出解决方案吗!

4

2 回答 2

0

你可以尝试这样的事情,你正在使用MapCollection:

Map yourname = new HashMap(); 
yourname.put("compamount", bean.getCompAmount());

所以这里的 ${compamount} 是 reference_Data() 方法返回的值之一。

我希望能帮助你:)

于 2013-02-24T18:07:43.577 回答
0

听起来您想为表单的某些文本字段设置一些默认值。如果您正在使用SimpleFormController,您可以简单地覆盖该方法protected Object formBackingObject(HttpServletRequest request)以在表单字段中使用一些默认数据填充表单。

您不应该protected Map referenceData(HttpServletRequest request)为此目的使用方法。因为referenceData用于为复选框或单选按钮提供列表数据。这在mkyoung的这篇不错的文章中得到了很好的解释。

如果你正在使用AbstractWizardFormController,你仍然有方法protected Object formBackingObject(HttpServletRequest request)protected Map referenceData(HttpServletRequest request)。因为AbstractWizardFormController是 AbstractFormController 的子类它最终拥有上述方法。这是一个使用表单烘焙对象的示例演示。AbstractWizardFormController

干杯!

于 2013-02-24T16:20:28.057 回答