栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

提交表单而不刷新Spring MVC中的页面

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

提交表单而不刷新Spring MVC中的页面

当我提交表单时,我丢失了listbox2的数据,必须再次在listbox1中重新选择。

您还没有提到如何绑定表单数据并从jsp传递到控制器,而是考虑使用如下所示的模型bean:

ProductBean类用于保存表单数据:

public class ProductBean {private String listbox1Selected;private String listbox2Selected;  //no-arg constructor, getters and setters}

用于在列表框或选择框中加载选项的选项类:

public class Option {        private String name;    public Option(){}    public Option(String name) {        super();        this.name = name;    }}

并在jsp中使用如下所示的方法在表单提交后获得所选选项:

<form:form method="post" modelAttribute="productBean">    <label  for="listbox1">listbox1:</label>    <form:select path="listbox1Selected">        <option value="NONE">--listbox1--</option>        <form:options items="${listbox1Options}" itemValue="name" itemLabel="name"/>    </form:select>    <label  for="listbox2">listbox2:</label>     <form:select path="listbox2Selected">        <option value="NONE">--listbox2--</option>        <form:options items="${listbox2Options}" itemValue="name" itemLabel="name"/>    </form:select>    <input type="submit" /></form:form>

并在控制器中返回弹簧传递给POST参数的产品模型bean。

@Controller@RequestMapping("/selectBox")public class SelectBoxController {    @RequestMapping(method=RequestMethod.GET)    public String showSelectBox(Model model){        model.addAttribute("productBean", new ProductBean());        return "selectBox";    }    @RequestMapping(method=RequestMethod.POST)    public String showSelectBox(@ModelAttribute("productBean")ProductBean productBean, BindingResult result, ModelMap model){        System.out.println(productBean);        model.addAttribute("productBean", productBean);        return "selectBox";    }    @ModelAttribute("listbox1Options")    public List<Option> populateOpt(){        List<Option> lst = new ArrayList<Option>();        lst.add(new Option("Op1"));        lst.add(new Option("Op2"));        lst.add(new Option("Op3"));        return lst;    }    @ModelAttribute("listbox2Options")    public List<Option> populateOpt2(){        List<Option> lst = new ArrayList<Option>();        lst.add(new Option("Op4"));        lst.add(new Option("Op5"));        lst.add(new Option("Op6"));        return lst;    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/417175.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号