我的控制器类
@Controller
@SessionAttributes("basschoolsform")
public class SchoolStudentsConfirmationContrl
{
下面的方法接受ac_year并相应地获取数据并重定向到页面showreport
@RequestMapping(value="/SchoolStudentConfirmation.getData",method=RequestMethod.GET)
public ModelAndView BASyearWiseReport(@ModelAttribute BASSchoolsForm basschoolsform,HttpServletRequest request)
{
ModelAndView mav=new ModelAndView();
try
{
List<Object[]> result=schoolstdconfirmservice.BASyearWiseReport(request,basschoolsform);
PageHeading = "BAS Students Confirmation for the Academic Year:"+ basschoolsform.getAc_year()
if(!result.isEmpty())
{
mav.addObject("result",result);
}
else
{
mav.addObject("msg","NO Data Found");
}
mav.setViewName("showreportwithmenu");
}
catch(Exception e)
{
e.printStackTrace();
}
mav.addObject("basschoolsform",basschoolsform);
return mav;
}
此方法还使用ac_year获取数据并重定向到studentstatusedit
@RequestMapping(value="/SchoolStudentConfirmation.ConfirmStudentByDO",method=RequestMethod.GET)
public ModelAndView ConfirmStudentByDO(@ModelAttribute BASSchoolsForm basschoolsform,HttpServletRequest request)
{
ModelAndView mav=new ModelAndView();
System.out.println(basschoolsform.getAc_year()+" later value");
List<BASSchoolsForm> studentdata=schoolstdconfirmservice.ConfirmStudentByDO(basschoolsform,request);
if(studentdata != null && studentdata.size() > 0)
{
mav.addObject("PageHeading","Academic Year:"+request.getParameter("ac_year")+" School: "+request.getParameter("school"));
mav.addObject("studentdata",studentdata);
mav.addObject("schooltype",request.getParameter("school").split("-")[2]);
request.setAttribute("school",request.getParameter("school"));
}
else
{
mav.addObject("msg","All Applications are Confirmed");
mav.addObject("showyear","showyear");
}
mav.setViewName("studentstatusedit");
return mav;
}
虽然我添加了sessionAttribute,但我在下一个方法中将ac_year视为null。 请告诉我哪里出错了
答案 0 :(得分:0)
首先,您需要初始化ModelAttribute并在方法参数
中使用ModelAttribute名称@Controller
@SessionAttributes("basschoolsform")
public class SchoolStudentsConfirmationContrl
{
@ModelAttribute("basschoolsform")
public BASSchoolsForm populate(){
return new BASSchoolsForm();
}
................
public ModelAndView ConfirmStudentByDO(@ModelAttribute("basschoolsform") BASSchoolsForm basschoolsform,HttpServletRequest request)
{