【问题标题】:HTTP Status 500: When using form:input tag in jspHTTP 状态 500:在 jsp 中使用 form:input 标记时
【发布时间】:2015-08-28 04:42:45
【问题描述】:

当我在我的 jsp 页面中使用 <form:input path="name" /> 时,它会显示 HTTP 状态 500 错误。

我面临的问题是因为这个标签<form:input path="name"> 但是如果我删除这个标签并使用正常的输入标签,它对我来说很好。

我们将不胜感激。

我还包括Taglib for form

<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>

我的Jsp文件是

我的控制器里面的代码是

它向我显示的错误是

【问题讨论】:

  • Stacktrace 的末尾是否有原因(另一个异常)?
  • @hinneLinks 是的,是java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'command' available as request attribute

标签: java spring forms jsp


【解决方案1】:

使用如下所示的 ModelAndView 并创建一个带有属性“name”的 setter 和 getter 的 bean。

  @RequestMapping(value = "/insert", method = RequestMethod.GET)
   public ModelAndView insert() {

      return new ModelAndView("script", "command" , new MyBean());
   }

   @RequestMapping(value = "/insert", method = RequestMethod.POST)
   public ModelAndView attackHandler(@ModelAttribute("myBean")MyBean mybean) {

       System.out.println(mybean.getName());

      return new ModelAndView("script", "command" , mybean);
   }

【讨论】:

    【解决方案2】:

    请为您的输入值提供 Bean(with setter and getter) 并将您的 bean 包含在 servlet 方法 insert and attackHandller 中。

    喜欢

    public ModelAndView attackHandller(@ModelAttribute("beanData")  @Validated BeanData beanData, BindingResult bindingResult,Model model){}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-22
      • 2011-01-01
      相关资源
      最近更新 更多