Struts2 + ajax令牌刷新

时间:2015-07-14 08:23:53

标签: java jquery ajax struts2 token

我正在使用Struts2(版本2.3.24)开发Web应用程序,并且我大量使用ajax进行分页。我有这样的表格:

<s:form id="pagination-form">
    <s:token id="session_token" />
    <s:hidden id="entityClass" value="%{paginator.getEntityClassString()}" />
    <s:hidden id="paginator-orderColumn" value="%{paginator.orderColumn}" />
    <s:hidden id="paginator-order" value="%{paginator.order}" />
    <s:hidden id="paginator-firstItem" value="%{paginator.firstItem}" />
    <s:hidden id="paginator-resultsCount" value="%{paginator.resultsCount}" />
    <s:hidden id="paginator-perPageItems" value="%{paginator.perPageItems}" />
    <s:hidden id="paginator-currentPage" value="%{paginator.currentPage}" />
</s:form>

这是相应的ajax调用:

$.ajax({
        url: route/to/action,
        type: 'POST',
        data: {
            'entityClass': $('#entityClass').val(),
            'struts.token.name': $(form).find('input[name=\'struts.token.name\']').val(),
            'token': $(form).find('input[name=token]').val(),
            'paginator.orderColumn': $('#paginator-orderColumn').val(),
            'paginator.order': $('#paginator-order').val(),
            'paginator.firstItem': $('#paginator-firstItem').val(),
            'paginator.resultsCount': $('#paginator-resultsCount').val(),
            'paginator.perPageItems': $('#paginator-perPageItems').val(),
            'paginator.currentPage': $('#paginator-currentPage').val()
        },
        dataType: 'json',
        success: function (response) {
            // EMPTY THE TABLE
            // ITERATE RESULTS
            // POPULATE THE TABLE
        }, 
        error: function (jqXhr, textStatus, errorThrown) {
            // SHOWS ERROR MESSAGE
        }
    });

当我进行呼叫时,令牌无效,我需要的是每次我必须进行分页呼叫时刷新它。我找到了有关该主题的this questionthis question。有更好的方法来刷新令牌?或者,另一方面,我做错了吗?

0 个答案:

没有答案