Index: HtmlTableWriter.java =================================================================== RCS file: /opt/cvsaf/cvsroot/DisplayTagLibrary/main/src/org/displaytag/render/HtmlTableWriter.java,v retrieving revision 1.1 diff -u -r1.1 HtmlTableWriter.java --- HtmlTableWriter.java 18 Oct 2006 07:51:29 -0000 1.1 +++ HtmlTableWriter.java 18 Oct 2006 08:00:41 -0000 @@ -380,8 +380,45 @@ // creates the link for sorting Anchor anchor = new Anchor(getSortingHref(headerCell), header); + // Added by g.agnelli 19-set-2006 - Start + StringBuffer postForm = new StringBuffer(200); + Href sortHref = getSortingHref(headerCell); + if (sortHref.toString().length() > 2000) { + Object mapKey[] = sortHref.getParameterMap().keySet() + .toArray(); + + String uid = "Sort" + headerCell.getColumnNumber(); + + postForm.append("
"); + Href postExportHerf = (Href) sortHref.clone(); + postExportHerf.setFullUrl("javascript:form" + uid + + ".submit();"); + postExportHerf.setParameterMap(new HtmlAttributeMap()); + anchor = new Anchor(postExportHerf, header); + + } + // Added by g.agnelli 19-set-2006 - End + // append to buffer header = anchor.toString(); + + header += postForm.toString(); // Added by g.agnelli 19-set-2006 } write(header); @@ -557,7 +594,8 @@ Href exportHref = (Href) this.baseHref.clone(); StringBuffer buffer = new StringBuffer(200); - Iterator iterator = MediaTypeEnum.iterator(); + StringBuffer postForm = new StringBuffer(200);// Added by g.agnelli + Iterator iterator = MediaTypeEnum.iterator(); while (iterator.hasNext()) { @@ -577,11 +615,47 @@ // export marker exportHref.addParameter(TableTagParameters.PARAMETER_EXPORTING, "1"); - Anchor anchor = new Anchor(exportHref, this.properties.getExportLabel(currentExportType)); - buffer.append(anchor.toString()); +// Added by g.agnelli 19-set-2006 - Start + if (exportHref.toString().length() > 2000) { + Object mapKey[] = exportHref.getParameterMap().keySet() + .toArray(); + + String uid = "Export" + currentExportType; + + postForm.append(""); + Href postExportHerf = (Href) exportHref.clone(); + postExportHerf.setFullUrl("javascript:form" + uid + + ".submit();"); + postExportHerf.setParameterMap(new HtmlAttributeMap()); + Anchor anchor = new Anchor(postExportHerf, this.properties + .getExportLabel(currentExportType)); + buffer.append(anchor.toString()); + } else { + Anchor anchor = new Anchor(exportHref, this.properties + .getExportLabel(currentExportType)); + buffer.append(anchor.toString()); + } + // Added by g.agnelli 19-set-2006 - End } } - + buffer.append(postForm.toString()); // Added by g.agnelli 19-set-2006 + String[] exportOptions = {buffer.toString()}; write(MessageFormat.format(this.properties.getExportBanner(), exportOptions)); }