Jsp springmvc中的表单继承

Jsp springmvc中的表单继承,jsp,spring-mvc,Jsp,Spring Mvc,我在SpringMVC应用程序中面临一种情况,我有一个所有页面都通用的表单。因此,我在一个单独的jsp页面中采用了该表单,并将该页面包含在其他jsp页面中。形式很简单: <form:form method="POST" commandName="coachingDomain" action="searchForm"> <form:input path="coachingName" placeholder="Search for coaching" />

我在SpringMVC应用程序中面临一种情况,我有一个所有页面都通用的表单。因此,我在一个单独的jsp页面中采用了该表单,并将该页面包含在其他jsp页面中。形式很简单:

   <form:form method="POST" commandName="coachingDomain" action="searchForm">

    <form:input path="coachingName" placeholder="Search for coaching" />

    <button type="submit" value="Search">Search</button>
</form:form>    
但绑定错误仍然出现。在我看来,服务器试图首先找到A1页的控制器。所以,我创建了A1控制器(作为抽象),并使A2扩展了A1控制器。然后,我将相同的代码放在A1中。但仍然存在同样的错误

我的A1和A2控制器是:

   public abstract class A1 {

public void showPage1(ModelMap modelMap, HttpServletRequest request,
        HttpServletResponse response) {
    System.out.println("A1 called");
    modelMap.addAttribute("coachingDomain",
            new CoachingDomain());
     }
 }

  @Controller
  @RequestMapping(value = "/A2.html")
 public class A2 extends A1 {

@RequestMapping(method = RequestMethod.GET)
public String showPage(ModelMap modelMap, HttpServletRequest request,
        HttpServletResponse response) {
    System.out.println("A2 called");
            showPage1(modelMap, request, response);
    modelMap.addAttribute("searchCoachingDomain",
            new SearchCoachingDomain());
    return "A2";
     }
   }
我的jsp页面是:

A1.jsp:

    <body>
   <form:form method="POST" commandName="coachingDomain" action="searchForm">

    <form:input path="coachingName" placeholder="Search for coaching" />

    <button type="submit" value="Search">Search</button>
</form:form>    
  </body>

搜寻
A2.jsp:

<%@include file="/WEB-INF/views/root.jsp"%>

错误是:

       Neither BindingResult nor plain target object for bean name 'coachingDomain' available as request attribute
at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:141)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:174)
bean名称“coachingDomain”的BindingResult和普通目标对象都不能作为请求属性使用
位于org.springframework.web.servlet.support.BindStatus。(BindStatus.java:141)
位于org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:174)

在internet上有一些继承示例,但我不知道如何使表单对所有jsp页面通用。我想到的一种方法可能是使用Javascript,在这里我将submit按钮与JS函数绑定,并调用所需的URL。但我希望通过使用springmvc@RequestMapping(method=RequestMethod.POST)技术也能实现同样的效果。请建议我到这里来…

你能发布更多的控制器信息和你遇到的错误吗?我已经按照你的要求添加了代码和错误。。。
       Neither BindingResult nor plain target object for bean name 'coachingDomain' available as request attribute
at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:141)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:174)