struts+jxl 急救!

我在用http://robbln.iteye.com/blog/106636这篇文章的例子时
struts到后台始终报错,在workbook.close();这行报 Connection reset by peer: socket write error
但是如果我把js location.href换成传Button 自身object的js,使用obj.href = url;就可以,
这是怎么回事?
我现在需要导出excel,url直接导出用obj.href 可以,但是中文乱码,用form.submit();报我参照这个例子一样的错误,急救!
另外,请问有关于url中文转发在struts1 + spring 的配置吗?我目前工程里面配的spring的filter在window.open()这种时候出现乱码,但是jquery调用的时候里面的url确可以通过getParam得到正常的中文。tomcat 里已配置 URIEncoding="gbk"。
求解,忘答复,多谢!

由于前台url参数在地址栏会自动编码,而后台jvm也会自行解一次码你必须这样写
obj.href="/目标URL?参数1="+
encodeURIComponent(encodeURIComponent(页面表单参数));

而在java后台程序是一样
String para1= java.net.URLDecoder.decode(request.getParameter(参数1), "utf-8"); //服务端再转码就可以了

url转码一下先

encodeURIComponent(url的参数)

我用的jquery,其它的也是一样的。

客户端js中

var jqueryObj = $("#userName");
var userName = jqueryObj.val();

userName = encodeURI(userName); //进行转码

$.post("AJAXServer",{name:userName},callback);

服务器端:AJAXServer(servlet)中
response.serContentType("text/html;charset=utf-8"); //或gbk也可以

String userName = request.getParameter(name); //获取提交过来的值
userName = java.net.URLDecoder.decode(userName, "utf-8"); //服务端再转码就可以了。

深入浅出URL编码
[url]http://www.cnblogs.com/yencain/articles/1321386.html[/url]

我用的jquery,其它的也是一样的。

客户端js中

var jqueryObj = $("#userName");
var userName = jqueryObj.val();

userName = encodeURI(userName); //进行转码

$.post("AJAXServer",{name:userName},callback);

服务器端:AJAXServer(servlet)中
response.serContentType("text/html;charset=utf-8"); //或gbk也可以

String userName = request.getParameter(name); //获取提交过来的值
userName = java.net.URLDecoder.decode(userName, "utf-8"); //服务端再转码就可以了。

详解参考:
http://blog.csdn.net/softwave/archive/2009/02/12/3880335.aspx