form表单上传文件后,获取成功或者失败信息

chentao860606 2014-07-31 11:31:22
jsp部分:
<form id="add_form" action="addPerson.action" method="post" enctype="multipart/form-data" namespace="/">
<div >
<table>
<tr>
<td> </td>
<td>
<div>
<input id="eduFileName" name="eduFileName" type="text" class="input03" readonly/>
<input id="eduFile" name="eduFile" type="file" style="width:0px" onchange="onUploadImgChange(this,'edu')">
<input id="getEduFile" name="getEduFile" type="button" value="选择文件" onclick="eduFile.click();"class="btn03"/>
<p class="pic—01"><div id="eduPreviewFake"><img id="eduPreview" onload="onPreviewLoad(this)"/></div>
</p>
</div></td>
</tr>
</table>

这是一个人员添加页面,大概有40多个字段,其中6个字段需要上传图片并预览,通过submit按钮触发action,将form表单提交到后台

Java部分:
public String addPerson() throws Exception {
Staff staff=new Staff();/
String eduPath=getPath(eduFile,eduFileName);
staff.setEduPath(eduPath);
return msg;
将文件上传后,存储路径。

现在的问题是,我无法将保存成功或者失败的信息返回到前台

使用ajax不可避免的会用到上传控件,而控件会破坏我页面的样式,也就是风格不统一

大家有什么好的办法没有?
...全文
767 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
剑神一笑 2014-08-01
  • 打赏
  • 举报
回复
jquery 有个插件交ajaxfileupload 不会破坏样式的 很好用
开不了口1990 2014-08-01
  • 打赏
  • 举报
回复
我之前就做了一个这样的功能,写了篇简单的博文,你可以参考一下。 http://blog.csdn.net/zmcmm/article/details/37872097
chentao860606 2014-08-01
  • 打赏
  • 举报
回复
ajax 没法获取file类文件吧
  • 打赏
  • 举报
回复
引用 3 楼 chentao860606 的回复:
[quote=引用 1 楼 shijing266 的回复:] 看了你的需求:不用ajax、form提交、action接收、页面提示 现在就简单了。 进入页面的action里面随意设置一个变量status,默认值"default"。 在进入页面后赋值给form的一个hidden。 然后做完操作提交之后,action接收请求,并处理操作。如果成功了,status的值改成"success",失败改成"falure",否则"default"。 然后在页面js进行判断status的值。 如果是"success",则提示“获取成功”;如果是"falure",则提示“获取失败”;如果是"default",不做任何操作.... 亲,还有疑问么? 不用我贴代码了吧....坑爹,答案打完了,浏览器崩溃,害我重打......
你这个想法我有过,设置一个msg变量,通过struts标签在jsp页面获取,然后直接anert出成功或者失败信息。 但是需要在执行完addPerson.action这个action后重新跳转至这个页面 <action name="addPerson" class="NewPerson" method="addPerson"> <interceptor-ref name="fileUploadStack"/> <result name="success">/WEB-INF/jsp/admin/addPeople.jsp</result> </action> 这会导致页面数据丢失,其他的数据还可以通过struts标签加载回来,但是图片上传的地方数据没法加载 有没有不做跳转的方法?[/quote] 不跳转。2种办法 。 1、ajax 2、dwr
chentao860606 2014-07-31
  • 打赏
  • 举报
回复
引用 1 楼 shijing266 的回复:
看了你的需求:不用ajax、form提交、action接收、页面提示 现在就简单了。 进入页面的action里面随意设置一个变量status,默认值"default"。 在进入页面后赋值给form的一个hidden。 然后做完操作提交之后,action接收请求,并处理操作。如果成功了,status的值改成"success",失败改成"falure",否则"default"。 然后在页面js进行判断status的值。 如果是"success",则提示“获取成功”;如果是"falure",则提示“获取失败”;如果是"default",不做任何操作.... 亲,还有疑问么? 不用我贴代码了吧....坑爹,答案打完了,浏览器崩溃,害我重打......
你这个想法我有过,设置一个msg变量,通过struts标签在jsp页面获取,然后直接anert出成功或者失败信息。 但是需要在执行完addPerson.action这个action后重新跳转至这个页面 <action name="addPerson" class="NewPerson" method="addPerson"> <interceptor-ref name="fileUploadStack"/> <result name="success">/WEB-INF/jsp/admin/addPeople.jsp</result> </action> 这会导致页面数据丢失,其他的数据还可以通过struts标签加载回来,但是图片上传的地方数据没法加载 有没有不做跳转的方法?
zgd77521 2014-07-31
  • 打赏
  • 举报
回复
关键是你的图片还要有预览功能,建议你把图片部分和文字部分分开,图片用ajax,文字部分可以用form表单提交也可以用ajax,建议用ajax。
  • 打赏
  • 举报
回复
看了你的需求:不用ajax、form提交、action接收、页面提示 现在就简单了。 进入页面的action里面随意设置一个变量status,默认值"default"。 在进入页面后赋值给form的一个hidden。 然后做完操作提交之后,action接收请求,并处理操作。如果成功了,status的值改成"success",失败改成"falure",否则"default"。 然后在页面js进行判断status的值。 如果是"success",则提示“获取成功”;如果是"falure",则提示“获取失败”;如果是"default",不做任何操作.... 亲,还有疑问么? 不用我贴代码了吧....坑爹,答案打完了,浏览器崩溃,害我重打......
form表单的多文件上传formData对象可以使用一系列的键值对来模拟一个完整的表单,然后使用Ajax来发送这个表单使用
表单初始化FormData对象的方式上传文件

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧