我有一个弹簧表单名UpdateStock.jsp
<form:form........>
<form:input path="compAmount"/>
............
</form:form>我的目的是从数据库中通过一些默认值初始化上面的spring表单文本框。所以我有表单文本标签
<form:input path="compAmount" value=${compamount}/>这里,${compamount}是从referenceData()方法返回的值之一。但是,问题是value=${compamount}无效。
所以我把它放在一边,然后做下面的事情:
即在reference_Data()方法中初始化对象命令对象,如下所示。但这是行不通的。
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;
}你能提出解决办法吗!
发布于 2013-02-24 16:20:28
听起来,您需要窗体的某些文本字段的一些默认值。如果您正在使用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-24 18:07:43
您可以尝试这样的方法,您正在使用Map集合:
Map yourname = new HashMap();
yourname.put("compamount", bean.getCompAmount());因此,这里的${compamount}是从reference_Data()方法返回的值之一。
我希望能帮到你:)
https://stackoverflow.com/questions/15053117
复制相似问题