2015-04-22 82 views
1

我有一个页面顶部有分页链接。 当我点击这些页面时,它会从1-50,51-100等记录中找到我。 我遇到问题,当我点击第二个动作,如当我点击页面#2 @ModelAttribute值得到空。Spring模型属性在请求中得到空

这是THA页网址:http://localhost:8080/tax/taxedYear.html?p=2

这需要我去春来控制器类/taxedYear.html和方法如下:

@RequestMapping(value = "/taxedYear.html", method = RequestMethod.GET)  
public ModelAndView showTaxResults(@ModelAttribute("criteria") 
    Criteria criteria, Model model, HttpSession session, HttpServletRequest request) { 

    String src = criteria.getSource(); 
    System.out.println("src === "+src); 
    //.... 
    // 
    } 

当从标准叫什么为空。从previou页面调用相同的方法,它工作正常。 只有当我单击页面URL时才会发生这种情况,该页面也调用控制器中的相同方法并另外发送页面#。

回答

1

Spring reference:

一种上的方法参数@ModelAttribute指示参数应该从模型中检索。如果模型中不存在,则应首先实例化参数,然后将其添加到模型中。

模型由控制器填充。你假设第二次调用时模型保持不变,但显然你的假设是错误的。因为Spring初始化模型,我相信你认为它是持久的。这是合理的方式,模型不应该在HTTP调用中持久化。

+0

请插入一些链接提到以上引用的事实!!!! – Dev

+0

@Dev感谢您的提醒。 – mtyurt