`

Spring中form绑定找不到commandClass问题的解决

阅读更多
今天在使用<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>

分享到:
评论
1 楼 jueforever 2012-06-14  
command 所代表的 Formbean对象是可以直接强转为某个实体bean对象的,主要设置了commandClass

相关推荐

    springbind BindStatus

    这里的参数依次是:属性名("password"),错误码("password.invalid"),消息参数(通常用于动态消息,这里没有提供),以及默认错误消息(如果找不到匹配的错误码,则使用这个消息)。 在 JSP 页面中,你可以...

    spring mvc 附件上传代码

    本文档将详细介绍如何在Spring MVC环境中配置并实现文件上传功能,包括必要的`web.xml`配置、Spring配置文件(如`upload-servlet.xml`)设置及控制器的具体编写。 #### 二、`web.xml`配置详解 `web.xml`文件用于...

    spring mvc 框架

    在Spring MVC项目中,`web.xml`文件是非常重要的,因为它定义了应用的核心Servlet——`DispatcherServlet`。`DispatcherServlet`是Spring MVC的核心组件,负责接收HTTP请求并将它们分发到合适的控制器上进行处理。接...

    详解springMVC—三种控制器controller

    Spring MVC框架中,控制器(Controller)扮演着至关重要的角色,是用户请求的入口和处理中心。 Spring MVC提供了三种类型的控制器,每种控制器都有其特点和应用场景。本文将对这三种控制器进行详细的介绍和分析。 ...

    AutoCAD .NET ARX Invoke的应用

    AutoCAD .NET ARX Invoke是AutoCAD开发中的一个重要概念,主要涉及到使用.NET Framework与AutoCAD的ARX(Acad Runtime Extension)应用程序之间的交互。在AutoCAD的开发环境中,.NET和ARX是两种不同的扩展机制,前者...

    基于C#.NET的Autocad二次开发范例

    在IT行业中,Autodesk AutoCAD是一款广泛应用于机械、建筑、工程等领域的计算机辅助设计软件,其强大的绘图和设计功能深受专业人士喜爱。然而,仅靠AutoCAD的基本功能往往无法满足所有用户的需求,这时就需要进行二...

    revit二次开发入门-HelloRevit#

    在本项目"revit二次开发入门-HelloRevit#"中,我们将探讨如何使用C#语言进行Revit插件的初级开发,实现一个简单的外部命令,当执行时会在Revit界面中弹出一个显示"hellorevit"的对话框。 首先,Revit二次开发的核心...

    .NET平台的AutoCAD二次开发

    综上所述,.NET平台下的AutoCAD二次开发不仅提高了开发效率,还降低了开发难度,使得更多非专业程序员也能参与到AutoCAD插件的开发过程中来。此外,.NET平台提供的强大功能和灵活性也为开发者创造了更多可能性,从而...

Global site tag (gtag.js) - Google Analytics