我用的是eclipse + tomcat + struts 想实现通过点击页面的提交按钮,代码如下:
<html:submit property="method" onclick="return changeActionYes(this);">CSV
</html:submit> <script type="text/javascript" language="JavaScript">
function changeActionYes(obj)
{
obj.form.action=' <html:rewrite page="/member/yes.do"/>';
}
</script> 然后,进入到Action中,将页面内一个表格的数据导出到csv文件中。但执行完导出语句之后,回到原来的jsp页面,页面却不再刷新了。 问题是,我想这时候把原来的那个表格的内容清空,但页面从我点击上面那个
<html:submit property="method" onclick="return changeActionYes(this);">CSV
</html:submit>
按钮之后,页面就不动了,也就无法再运行javascript事件了,请问各位大虾有什么高见啊
<html:submit property="method" onclick="return changeActionYes(this);">CSV
</html:submit> <script type="text/javascript" language="JavaScript">
function changeActionYes(obj)
{
obj.form.action=' <html:rewrite page="/member/yes.do"/>';
}
</script> 然后,进入到Action中,将页面内一个表格的数据导出到csv文件中。但执行完导出语句之后,回到原来的jsp页面,页面却不再刷新了。 问题是,我想这时候把原来的那个表格的内容清空,但页面从我点击上面那个
<html:submit property="method" onclick="return changeActionYes(this);">CSV
</html:submit>
按钮之后,页面就不动了,也就无法再运行javascript事件了,请问各位大虾有什么高见啊
解决方案 »
- 求高手帮忙啊,关于动态生成表单中表格的一行,并记录该行的文本框的值!
- java关于split分割字符串问题,请教高手!
- sql server2000 一个存储过程里调用另一个存储过程怎么写
- 将JAVA程序做成WINDOWS服务的方法(供参考顺便散分)
- 为什么我写的Jsp页面,不能实现这种效果?
- 【请教各位】谁架过论坛?好像叫mvnforum?其他的也可以,只要能跑就行!
- strut 出现乱码的问题!马上给分
- 那位高手能帮解释一下这个tomcat异常?
- 在页面中显示上标,结果上标标记中的"<"被自动转换成了"<",怎么办?
- javabean中java流程与sql数据库的一个问题!!!!!!!!!
- 服务器之间Session同步
- 请求指点一下刚刚进入J2EE的我
form里的内容已经清除了,正常情况下,执行完action里的东西之后,页面应该会刷新,然后执行
<body onload="showPage()">
的showPage()方法,但不知道什么原因,在action中执行过csv导出之后,页面不再刷新,也就是说,即使已经把form里的内容清空了,但页面这时候根本没再
刷新,页面的东西还是一点没动啊
public ActionForward CSV(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception { Vector termItems=new Vector();
response.reset();
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition", "attachment; filename=" + "csvName" + ".csv");
response.setCharacterEncoding("shift-jis");
String csvMember1[] = {"denPyoNo"," "," ","idoName"," "," ","nowDate"};
String csvMember2[] = {""};
String csvMember3[] = {"dePyoTitle"};
String csvMember4[] = {""};
String csvMember5[] = {"","",,"","","",""};
termItems.add(csvMember1);
termItems.add(csvMember2);
termItems.add(csvMember3);
termItems.add(csvMember4);
termItems.add(csvMember5);
PrintWriter out = null;
BufferedWriter bufWriter = null;
try
{
out = response.getWriter();
bufWriter = new BufferedWriter(new PrintWriter(out));
for(int i=0;i<termItems.size();i++){
String[] lineArr = (String[])termItems.elementAt(i);
String lineStr = "";
for(int j=0; j<lineArr.length; j++){
lineStr=lineStr+lineArr[j]+",";
}
lineStr=lineStr.substring(0,lineStr.length()-1);
bufWriter.write(lineStr);
bufWriter.newLine();
}
}catch(Exception e){
}
finally
{
try
{
bufWriter.flush();
bufWriter.close();
out.close();
}catch(Exception ee){
}
}
return mapping.findForward("success");
}配置文件:<action
path="/member/csv"
type="com.my.mnt.action.maintenance.MemberInfoAction"
name="memberInfoForm"
parameter="method"
scope="request"
validate="false"
input="memberInfo">
<forward
name="success"
path="memberInfo"/>
<forward
name="error"
path="error"/>
<forward
name="errorBack"
path="memberInfo"/>
</action>我试过如果不用另存为,而是用保存的话,就不会有问题,回到页面之后,自动刷新,
问题是客户要求可以自由修改保存位置和文件名,所以只能用另存为啊昨天又分析了下,action执行后不能刷新可能是因为response.reset();的原因,
但是,还有其他办法来实现另存为,同时不用response的吗?