今天在使用<spring:bind>标签绑定表单中的输入域时,出现了javax.servlet.ServletException: Neither Errors instance nor plain target object for bean name 'loginCommand' available as request attribute异常
调试了很久,也痛苦了很久,最后在一个老外的FAQ上找到了解决思路。:)
使用绑定的目的是在一个查询页面中,将查询条件绑定在
列出java的Controller中的主要方法:
protected ModelAndView submit(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
// 设置过滤条件
ExtendingSqlTemplateDO extendingSqlTemplateDO = (ExtendingSqlTemplateDO) command;
ExtendingSqlTemplateDOExample example = createExampleForFilter(extendingSqlTemplateDO);
// 排序字段
String orderByClause = "id asc";
PageBox pageBox = (PageBox) extendingSqlTemplateDAO.selectByExampleWithPaging(
example, pageSize, curpage, orderByClause);
Map view = new HashMap();
view.put("dataList", pageBox);
return new ModelAndView(pageView, view);
}
需添加: Map view = errors.getModel();
JSP代码:
<th>模版描述</th>
<td>
<spring:bind path="template.templateDesc">
<input type="text" name="<c:out value='${status.expression}' />" value="<c:out value='${status.value}' />" />
</spring:bind>
</td>
Spring配置:
<bean id="extendingSqlTemplateListController" class="xxx.xxx.xxx.extending.ExtendingSqlTemplateListController" autowire="byName">
<property name="pageView" value="extendingSqlTemplateList" />
<property name="commandName" value="template" />
<property name="commandClass" value="xxx.xxx.xxx.db.dataobject.ExtendingSqlTemplateDO" />
</bean>
分享到:
相关推荐
这里的参数依次是:属性名("password"),错误码("password.invalid"),消息参数(通常用于动态消息,这里没有提供),以及默认错误消息(如果找不到匹配的错误码,则使用这个消息)。 在 JSP 页面中,你可以...
本文档将详细介绍如何在Spring MVC环境中配置并实现文件上传功能,包括必要的`web.xml`配置、Spring配置文件(如`upload-servlet.xml`)设置及控制器的具体编写。 #### 二、`web.xml`配置详解 `web.xml`文件用于...
在Spring MVC项目中,`web.xml`文件是非常重要的,因为它定义了应用的核心Servlet——`DispatcherServlet`。`DispatcherServlet`是Spring MVC的核心组件,负责接收HTTP请求并将它们分发到合适的控制器上进行处理。接...
Spring MVC框架中,控制器(Controller)扮演着至关重要的角色,是用户请求的入口和处理中心。 Spring MVC提供了三种类型的控制器,每种控制器都有其特点和应用场景。本文将对这三种控制器进行详细的介绍和分析。 ...
AutoCAD .NET ARX Invoke是AutoCAD开发中的一个重要概念,主要涉及到使用.NET Framework与AutoCAD的ARX(Acad Runtime Extension)应用程序之间的交互。在AutoCAD的开发环境中,.NET和ARX是两种不同的扩展机制,前者...
在IT行业中,Autodesk AutoCAD是一款广泛应用于机械、建筑、工程等领域的计算机辅助设计软件,其强大的绘图和设计功能深受专业人士喜爱。然而,仅靠AutoCAD的基本功能往往无法满足所有用户的需求,这时就需要进行二...
在本项目"revit二次开发入门-HelloRevit#"中,我们将探讨如何使用C#语言进行Revit插件的初级开发,实现一个简单的外部命令,当执行时会在Revit界面中弹出一个显示"hellorevit"的对话框。 首先,Revit二次开发的核心...
综上所述,.NET平台下的AutoCAD二次开发不仅提高了开发效率,还降低了开发难度,使得更多非专业程序员也能参与到AutoCAD插件的开发过程中来。此外,.NET平台提供的强大功能和灵活性也为开发者创造了更多可能性,从而...