【问题标题】:Submit a form in Spring在 Spring 中提交表单
【发布时间】:2010-11-13 21:09:01
【问题描述】:

我有一个带有表格和表单的小应用程序,没什么特别的。我希望能够单击一个特定的行并删除/修改信息。我设法使用 Richfaces 做到了这一点,但现在我必须使用 Spring Framework 复制此功能。 我以这种方式呈现表格行:

    <form:form action="del.htm" commandName="movie">
 <td><form:hidden path="movieName"/>${movie.movieName}</td>
 <td><form:hidden path="year"/>${movie.year}</td>
 <td><form:hidden path="length"/>${movie.length}</td>
 <td><form:hidden path="category"/>${movie.category}</td>
 <td><form:hidden path="actors"/>${movie.actors}</td>
 <td><input type="submit" value="Delete" /><input type="submit" value="Modify"/></td>
    </form:form>

指定的操作被映射到一个控制器,该控制器返回 ModelAndView 以返回页面。对应于删除的函数被正确调用,但我没有收到电影对象,因此我可以使用 Hibernate 根据其 ID 从数据库中删除它。如果有人知道如何发送电影对象,我会很高兴听到。

任何帮助将不胜感激!

【问题讨论】:

  • 我在消息中从我的 HTML 添加了一个 sn-p。

标签: hibernate spring-mvc


【解决方案1】:

在表单中添加电影 ID 怎么样?

 <td><form:hidden path="id"/>${movie.id}</td>

【讨论】:

    【解决方案2】:

    你可以使用类似的东西

     <td><a href="deleteMovie/${movie.id}"><spring:message code="label.delete"/></a></td>
    

    那么在你的控制器中你应该有一个方法如下:

    @RequestMapping("/deleteMovie/{id}")
    public String removeMovie(@PathVariable("id") Integer id) {
    
        movieService.removeMovie(id);
    
        return "redirect:/index";
    }
    

    为了将电影对象传递给表单,您需要将电影对象放到导致您的jsp 被渲染的方法内的地图中。比如

        @RequestMapping(method = RequestMethod.GET)
    public String selectMovie(Map<String, Object> map) {
        //PicasawebService myService = new PicasawebService("exampleCo-exampleApp-1");
    
        map.put("movie", movieService.getMovie(id);
    
    
        return "movieDetails";
    }
    

    movieDetails 是 url 模式,它使你的 jsp 与你展示给我们的表单一起被渲染。

    希望对你有帮助..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-24
      • 2016-06-29
      • 2016-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多