Spring MVC预览实现

我有以下任务:使用Spring MVC实现“预览”功能。 知道实现它的最佳方式将是一件好事:

这是直接的任务1.填充新的表单并将该表单保存在数据库中:为了在jsp页面上做到这一点,我们有一个弹簧形式,我们将其从控制器传递并保存。 2.编辑一些表单数据:所以,为了做到这一点,我们将对象ID传递给控制器​​,控制器从DB读取所需数据 - >用户有可能编辑该数据并再次保存在数据库中。

但它看起来没有实现“预览”功能的直接机制。

例如:我们有一个表单,用户可以向表单添加必要的值,然后我们应该显示这个数据(该用户添加的)在单独的屏幕上的样子(我们执行一些数据操作,并显示这些数据的方式看起来像不同的工具)。

在代码中我们有以下情况:

  • 在控制器中,为了渲染预览,我们传递了我们的模型:

    @RequestMapping(value =“/ preview”,method = RequestMethod.POST)public String preview(@ModelAttribute(“form”)SomeForm form){return“preview”; }


  • 并在preview.jsp上我们有可能以适当的方式呈现它:

     <div class="preview">
      <div id="1">${form.field1}</div>
      <div id="2">${form.field2}</div>
     </div>
    

    在这个jsp页面上,我们没有表单。 为了回到编辑页面,我们需要传递一个表单对象,因为我们的控制器需要它:

    @RequestMapping(value = "/admin/save", method = RequestMethod.POST)
    public String save(@ModelAttribute("form") SomeForm form ){
    

    主要问题将此表单传回原始jsp页面。


    添加其他方法来设置预览

    ...
    @RequestMapping(value = "/admin/preview", method = RequestMethod.POST)
    public ModelAndView preview(@ModelAttribute("form") SomeForm form ){
        model = new ModelAndView();
        model.addObject("form", form);
        model.setViewName("jspPath")
        return model;
    }
    @RequestMapping(value = "/admin/save", method = RequestMethod.POST)
    public String save(@ModelAttribute("form") SomeForm form ){
    ...
    }
    

    在jsp中,您必须使用新参数重新填写表单,或者使用javascript ;-)


    在显示提交值的预览页面中,添加一个表单并在hidden inputs添加所有表单属性。 预览页面上的submit应该采取save方法而不是preview来保存到数据库。

    链接地址: http://www.djcxy.com/p/92553.html

    上一篇: Spring MVC preview implementation

    下一篇: Multiple Spring @RequestMapping annotations