Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jakarta ee 下拉选择要在春季传输的值_Jakarta Ee_Spring Mvc - Fatal编程技术网

Jakarta ee 下拉选择要在春季传输的值

Jakarta ee 下拉选择要在春季传输的值,jakarta-ee,spring-mvc,Jakarta Ee,Spring Mvc,当用户单击正在提交表单的搜索按钮时,我需要从jsp传输下拉列表中选择的值 <form:form modelAttribute="firstVO" method="post"> <form:select path="secondVO.status" id="status" > <form : option value="all" label="All" /> <form : option value="ne

当用户单击正在提交表单的搜索按钮时,我需要从jsp传输下拉列表中选择的值

    <form:form modelAttribute="firstVO" method="post"> 

    <form:select path="secondVO.status" 
    id="status" > 
    <form : option value="all" label="All" /> 
    <form : option value="new" label="New" /> 
    </form:select> 

    <input type="button" name="search" value="Search" onclick="filterData();" /> 

    </form:form> 

    function filterData(){ 

    document.forms[0].action    =   Path+"/filter.do"; 
    document.forms[0].submit(); 
    } 
    ------------------------------------------------- 

    public class FirstVO { 

    private SecondVO secondVO; 
    } 


    public class SecondVO { 

    private String status; 
    } 

    public class DPSController { 

    @RequestMapping(value = "/filter.do") 
    public ModelAndView filterDashboard(HttpServletRequest request, @ModelAttribute SecondVO secondVO) { 
    System.out.println("secondVO.getStatus:"+secondVO.getStatus()); 
    } 
    } 

您的模型属性是firstVO,而不是secondVO。如下图所示更改filterDashboard签名应该可以工作

改变

   @RequestMapping(value = "/filter.do") 
        public ModelAndView filterDashboard(HttpServletRequest request, @ModelAttribute SecondVO secondVO) { 
        System.out.println("secondVO.getStatus:"+secondVO.getStatus()); 
    } 


这东西能正常工作。谢谢但若我在jsp页面中添加一个文本框并在DPSController类中访问它,那个么它将返回null。例如:JSP:public class SecondVO{private String status;private String psoNumber;}@RequestMapping(value=“/filter.do”)公共模型和视图过滤器仪表板(HttpServletRequest,@modeldattribute FirstVO FirstVO){System.out.println(“FirstVO.getSecondVO().getStatus:+FirstVO.getSecondVO().getPsoNumber());}而不是标记。请试一下,它会正确绑定的。
   @RequestMapping(value = "/filter.do") 
        public ModelAndView filterDashboard(HttpServletRequest request, @ModelAttribute SecondVO secondVO) { 
        System.out.println("secondVO.getStatus:"+secondVO.getStatus()); 
    } 
@RequestMapping(value = "/filter.do") 
    public ModelAndView filterDashboard(HttpServletRequest request, @ModelAttribute FirstVO firstVO) { 
   System.out.println("firstVO.getSecondVO().getStatus:"+firstVO.getSecondVO().getStatus()); 
    }