当使用displayTag url时,它将生成用于分页和排序的URL,对于IE来说太长了。

有没有解决此问题的方法,而无需诉诸外部分页和排序?

干杯。

有帮助吗?

解决方案

希望这会帮助某人。如果有另一种方法,那就让我知道。

我解决的方式是排除显示表标签上的所有参数。

<display:table excludedParams="*"> ... </display:table>

这意味着URL不会填充参数。

太好了,但是您如何将我们使用的对象列表保留在处理列表中?

我通过在上下文的请求上设置属性来做到这一点。当我使用条纹框架时,我通过使用ActionBeanContext来完成此操作。

public class SchemeActionBeanContext extends ActionBeanContext {
    public void setThings(List<Things> things) {    
        getRequest().getSession().setAttribute("stuff", things);
    }

    public List<Things> getThings() {
        return (List<Things>)getRequest().getSession().getAttribute("stuff");
    }

然后,如果页面/请求,您可以在整个生命周期中设置并获取它们。

其他提示

我面临着一个类似的问题,其中所有表单字段的URL在分页和分类过程中都将其附加到URL。通过识别以下所有分页链接,它由它形成的唯一标题(转到页面)和内部HTML(例如'Next'''prev'等)来解决这一问题。

以下方法中的JavaScript参数在此处说明1)HEAD1/HEAD2-传递的排序列名。 2)formName-表单的名称,3)MasterName-控制器中调用的方法

我在名为“ strnamesearch”的输入框上有一个逻辑,基于我的调用方法更改。

另请注意,一旦执行此操作,请不要忘记在显示中添加排除Params =“*”:表标签

这是代码:

function findAnchorGen(head1,head2,formName,masterName) {
    var formObj = eval("document."+formName);
    var methodName;
    var strSearch = trim(formObj.strNamesearch.value);
    if(strSearch == null || strSearch == '') {
        methodNameP = "fetch"+masterName;
    } else {
        methodNameP = "search"+masterName;
    }
    var anchors = document.links; // your anchor collection   
    var i = anchors.length; 
    while (i--) {
        var a = anchors[i];     
        var aRef = a.href;
        var aTitle = a.title;
        index = aTitle.indexOf("Go to page");
        var inHtml = a.innerHTML;

        if(index >= 0 || inHtml == 'Last' || inHtml == 'Next' || inHtml == 'First' || inHtml == 'Prev' || inHtml == head1 || inHtml == head2) {
            //alert("Ref = " + aRef + " | title = " + aTitle + " | inner html = " + a.innerHTML);
            a.href="#";
            a.onclick = (function(aRef,formName,methodNameP){return function(){fSubmit(aRef,formName,methodNameP);}})(aRef,formName,methodNameP);
        }
    } 
}

function fSubmitGen(aRef,formName,methodNameP) {
    var formObj = eval("document."+formName);
    formObj.action = aRef;
    formObj.method.value = methodNameP;
    formObj.submit();
}

这是一个解决方法,对我们来说很好。我希望它也对您有用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top