Javascript Spring MVC-获取时未刷新模型属性参数

Javascript Spring MVC-获取时未刷新模型属性参数,javascript,jsp,caching,spring-mvc,modelattribute,Javascript,Jsp,Caching,Spring Mvc,Modelattribute,我有一个SpringController获取一个名为“start”的RequestParameter,用于搜索/休眠分页。如果参数为null,只需从零开始,并使用JavaScript变量“start={start+10}”呈现JSP,因此如果用户单击“next 10”按钮,控制器将获得一个“start=10”。然后,控制器应该呈现一个带有'start={start+10}=20的JSP,但是不管我经过控制器多少次,它仍然是10。 我在服务器端和客户端都做了添加。同样的事情也发生了:什么都没有。

我有一个SpringController获取一个名为“start”的RequestParameter,用于搜索/休眠分页。如果参数为null,只需从零开始,并使用JavaScript变量“start={start+10}”呈现JSP,因此如果用户单击“next 10”按钮,控制器将获得一个“start=10”。然后,控制器应该呈现一个带有'start={start+10}=20的JSP,但是不管我经过控制器多少次,它仍然是10。 我在服务器端和客户端都做了添加。同样的事情也发生了:什么都没有。 以下是控制器方法:

@RequestMapping(value = "/customers", method = RequestMethod.GET)
public String customersView(@RequestParam(value = "start", required = false) Integer start, ModelMap model) {
    if (start == null || start <= 0) start = 0;

    List<Customer> customers = customerService.findAllCustomers(start, pagesize);      
    CustomersForm customersForm = new CustomersForm();
    customersForm.setCustomers(customers);
    start += 10; // I can see a "20" here, actually.
    model.clear();
    model.addAttribute("customersform", customersForm);
    model.addAttribute("start", start); //This should render a "20" on client side on the first call, but it doesn't.
    return "customers";
}
@RequestMapping(value=“/customers”,method=RequestMethod.GET)
公共字符串CustomerView(@RequestParam(value=“start”,required=false)整数开始,ModelMap模型){

如果(start==null | | start您对jq.get的调用是一个ajax调用,它不会刷新页面,因此不会再次计算
${start}
jstl表达式。您可以将
st
存储在ajax调用之外,从ajax调用返回
start
,而不是从“客户”返回,并在调用返回时更新
st

var st = "${start}";  //This gets set OK only first time, i.e., a "10" is rendered.

jq("#next_20").click(function() {

    jq.get("customers",
        {
            start: st
        },
        function(newStartValue) {
            st = newStartValue;
        }
    );
});

谢谢,朋友。我不熟悉jQuery和AJAX,我没有注意到即使get方法请求也不会刷新页面……因此这根本不符合我的要求,因为我需要刷新“客户”对象列表。我最后做了类似于
onlick=“location.href=”customers?start=…”的事情
使用PO JavaScript函数调用。谢谢。
<!-- Disable web cache for GET requests -->
<mvc:interceptors>
    <bean id="webContentInterceptor"
        class="org.springframework.web.servlet.mvc.WebContentInterceptor">
        <property name="cacheSeconds" value="0" />
        <property name="useExpiresHeader" value="true" />
        <property name="useCacheControlHeader" value="true" />
        <property name="useCacheControlNoStore" value="true" />
    </bean>
</mvc:interceptors>
var st = "${start}";  //This gets set OK only first time, i.e., a "10" is rendered.

jq("#next_20").click(function() {

    jq.get("customers",
        {
            start: st
        },
        function(newStartValue) {
            st = newStartValue;
        }
    );
});