当前位置: 首页 > 面试题库 >

Spring MVC Bean名称既不是BindingResult也不是普通目标对象

康泽宇
2023-03-14
问题内容

由于某些原因,即使在这里查看了多个示例之后,我似乎也无法解决此问题。

我正在尝试使用Spring 3 MVC处理表单,但是出现以下错误:

 Neither BindingResult nor plain target object for bean name 'reverseString' available as request attribute

因此,我有点想解决这里的问题,但未能解决。这是我的方法

ReverseController类扩展了SimpleFormController:

protected ModelAndView onSubmit(HttpServletRequest request,
        HttpServletResponse response, Object command, BindException errors)
        throws Exception {
    ReverseString revString = (ReverseString) command;
    ModelAndView mav = new ModelAndView();
    ModelMap map = new ModelMap();
    map.addAttribute("reverseString", revString);
    mav.addAllObjects(map);
    return mav;
}

我的app-servlet.xml定义控制器如下:

<bean name="/reverse.app" class="ReverseController">
    <property name="commandName" value="reverseString"></property>
    <property name="commandClass" value="ReverseString" />
    <property name="successView" value="reverseResult" />
    <property name="formView" value="reverse" />
</bean>

这是我的reverse.jsp中的形式:

<form:form method="POST" modelAttribute="reverseString" action="handleForm">
<form:errors path="*" cssClass="errorblock" element="div" />
    <table>
        <tr>
            <td>String to be reversed:</td>
            <td><form:input path="stringToReverse" />
            </td>
            <td><form:errors path="stringToReverse" cssClass="error" />
            </td>
        </tr>
        <tr>
            <td colspan="3"><input type="submit" /></td>
        </tr>
    </table>
</form:form>

这就是我的web.xml中定义的内容:

 <web-app>
  <display-name>Spring Reverse String</display-name>      
  <welcome-file-list>
      <welcome-file>reverse.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
      <servlet-name>app</servlet-name>
      <servlet-class>Dispatcher</servlet-class>
      <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
        <servlet-name>app</servlet-name>
        <url-pattern>*.app</url-pattern>
  </servlet-mapping>
  <context-param>
    <param-name>contextConfigLocation</param-name>        
    <param-value>/WEB-INF/app-servlet.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>

最后,这是我的ReverseString对象:

public class ReverseString {

public String stringToReverse;
public String reversedString;

public ReverseString(String rawString) {
    this.reversedString = reverseString(stringToReverse);
}

public String getStringToReverse() {
    return stringToReverse;
}

public void setStringToReverse(String stringToReverse) {
    this.stringToReverse = stringToReverse;
}

public String reverseString(String rawString) {
    if(rawString == null || rawString.length() <= 1) return rawString;
    return reverseString(rawString.substring(1)) + rawString.charAt(0);
}

}


问题答案:

在您的reverse.jsp文件中,您添加了modelAttribute作为reverseString。因此,在加载reverse.jsp之前,它将查找您的ReverseString.java对象。

您只需要在控制器方法的请求范围内添加ReverseString.java对象,即可从该位置将用户导航到reverse.jsp。

例如

@RequestMapping(value = "/getReverseStringForm")
  public String cmLogin(Model model) {
    model.addAttribute(new ReverseString());
    return "reverse";
  }


 类似资料:
  • 我正在开发一个控制器来控制系统上的寄存器。这是我的控制器代码: 这是我的观点: 这是我的tiles.xml: 我会继续努力解决这个问题,谢谢你的关注!

  • carview.jsp ApplicationContext.xml web.xml 错误 grave:加载应用程序时出现异常grave:上下文/MyCar取消部署失败grave:加载应用程序时出现异常:java.lang.IllegalStateException:ContainerBase.AddChild:Start:org.apache.catalina.LifecycleExceptio

  • 是的,我读到这是一个很常见的问题,但是阅读这些帖子并没有真正帮助我。 小故事是我想在showAllComments.jsp上提交一个表单 以下是控制器: 结果如下:Java . lang . illegalstateexception:bean名称“command”的BindingResult和plain target对象都不能作为请求属性 但您可能需要从一开始就了解整个故事:用户在索引上启动应用

  • 在我的基本spring mvc应用程序中,我遇到了一个例外。我使用的是。我的代码如下。 在我的调度器-servlet中 在我的JSP页面中 在我的控制器课上 一旦用户输入正确的用户名和密码,就会重定向到页面。这工作正常。但是用户输入了错误的登录凭据,这会引发此错误。 例外 组织。springframework。网状物util。NestedServletException:请求处理失败;嵌套的例外是

  • 问题内容: 我在网上查看了几乎所有与该问题有关的答案,但在我的代码中找不到该问题。 这是我的JSP页面。 当我删除 它工作正常。我可以与控制器通信。因此问题与这条线有关。 这是我的web.xml 这是我的servlet-context.xml 还有我的applicationContext.xml 我可能在XML文件中做错了。我对于这个春季是新来的-休眠员工,请耐心等待。谢谢.. 这是被抛出的异常

  • 我试图在Tomcat 8.0服务器上使用Spring框架开发一个网络应用程序,但是,我被这个错误卡住了。其他两个表单页能够通过使用ModelAtinn绑定表单中的数据,然而,第三个userprofile.jsp是抛出错误“BindingResult或bean名称'setupuser'的普通目标对象都不可用作请求属性”。请帮我改掉这个错误。谢啦 错误- 可选服务控制器。爪哇- 用户配置文件。jsp