`
海上明月共潮生--风铃
  • 浏览: 58550 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

ajax struts2 action 页面无刷新返回结果

    博客分类:
  • java
阅读更多

 

最近做项目遇到的问题 用form提交 返回页面要不 跳转 要不刷新 可是我不想刷新页面

之前想用ajax 纠结了很久 发现ajax提交文件 action根本接收不到。
网上搜了些资料总结了一个最简单的方法分享一下:

 

html:

 

 

<form action=""   name="upfile_form" encType="multipart/form-data"   method="post" >  
 <input type="text" name="fileName" />
    <input type="file" name="upload" id="upload_file" onchange="checkFileSize('upfile_form','check_file_frame','/项目名/pack/fileupload.action',this);" />
  <p>
   <input type="submit" value="submit" />
  </p>
  <iframe name="check_file_frame" src="successful.jsp"></iframe>
</form>

 

 

 js:

 

 

/**
 * checkFileSize 可以实现异步提交 不刷新页面
 * @param formName  表单名 String
 * @param targetIframeName 返回页面的iframe框 String
 * @param actionName  action路径 完整的 String
 * @param fileObj 当前文件 一般写为:this
 * @return
 */
function checkFileSize(formName,targetIframeName,actionName,fileObj) {	
  var fileForm = new Object();
  if(fileObj.value != "") {
    var form = document.forms[formName];
    //把form的原始数据缓存起来
    fileForm.f = form;
    fileForm.a = form.getAttribute("action");  //form.action 为一个静态的对象,所以这里要使用getAttribute方法取值
    fileForm.t = form.target;
    //请求服务器端
    form.target = targetIframeName;
    form.action = actionName;         
    form.submit();// 其实上面的action已经会执行submit操作,这步可有可无
  }
  return false;
}

 

 




struts.xml:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts> 
  <package name="pack" namespace="/pack" extends="struts-default"> 
    <action name="fileupload" class="pack.Fileupload" method="execute"> 
      <result>successful.jsp</result> 
    </action>
    
  </package> 
</struts>

  

Fileupload.java

 

import java.io.File;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class Fileupload extends ActionSupport {
	private File upload;
	// 执行Action的Method功能
    private String  fileName; // 上传文件的文件名    
    private String  attachmentContentType;  // 上传文件的类型    
   

	public File getUpload() {
		return upload;
	}


	public void setUpload(File upload) {
		this.upload = upload;
	}


 


	public String getFileName() {
		return fileName;
	}


	public void setFileName(String fileName) {
		this.fileName = fileName;
	}


	public String getAttachmentContentType() {
		return attachmentContentType;
	}


	public void setAttachmentContentType(String attachmentContentType) {
		this.attachmentContentType = attachmentContentType;
	}


    public String execute() throws Exception    {
    	    System.out.println(fileName);
    		String dataDir = "e:\\file";// 上传文件存放的目录   
    		File savedFile = new File(dataDir, fileName);// 上传文件在服务器具体的位置            
    		upload.renameTo(savedFile);// 将上传文件从临时文件复制到指定文件        
    	   
    		
    		HttpServletRequest request = ServletActionContext.getRequest();
      		request.setAttribute("a", "aa");
    		request.setAttribute("b", "bb");   		
    		return SUCCESS;  
    	}
}

 

 这里只是简单地实现功能。successful.jsp可以通过parent.函数名 调用父类函数实现函数回调 轻松控制两个页面。



因为是调用函数 所以不用提交按钮也可以 这样就实现了不用刷新页面。

分享到:
评论

相关推荐

    ajax_struts2_上传与下载_无刷新

    3. 在struts2的Action通过2种不同的实现方法返回json格式的字符串。 4. 针对商品实现简单无刷新上传与下载 4. 批量导入数据采用的是导入test文件夹下的测试压缩包upload.rar上传到服务器的临时目录,然后利用WinRar....

    struts2的方式返回json到jsp页面 List,Map,Object,对象各种操作都有....MyEclipse的,导入直接看效果。

    jsp通过Ajax无刷新获取Action返回的模拟数据,然后通过struts2转化成json数据返回页面....这里面Map,List,对象等等,一些常用的操作都有。主要的代码在Action和 json.js里面。适合新手入门

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。 4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录进行显示。 5.单数据源配置(兼容Tomcat和Weblogic)。 6.Hibernate...

    struts2+ajax 无刷新验证身份证号是否已注册,身份证号是否正确

    ACTION,页面调用代码进行了注释,,,在用户输入完成身份证号自动验证是否正确以及是否存在,并动态显示"正在验证身份证号",对身份证号输入错误的进行提前提醒,减少数据库访问...struts2+ajax 上传前大部分代码...

    jQuery ajax请求struts action实现异步刷新

    这个样例是用JQuery ajax和struts来做的一个小样例,在这个样例中采用两种方式将java Util中的list转换成支json的格式,第一种是用json-lib.jar这个jar包来转换,第二种是采用goole的gson-2.1.jar来转换,大家可以...

    ajax Struts 上传文件

    ajax调用action 实现无刷新上传,可以用 解压后是一个小项目。

    OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR)130224.rar

    它通过ActionForm和Action类来实现数据的传递和处理,同时利用配置文件struts-config.xml来管理页面跳转和Action之间的映射关系。Hibernate3.0作为持久层框架,负责与数据库进行交互。它通过ORM(对象关系映射)技术...

    当当.sql

    6)局部刷新脚本与服务器交互:Ajax技术 7)数据库访问:JDBC,dbcp(连接池) 3:采取分层思想 1)表现层(js,css,jsp) 2)控制器层(struts2) 3)业务层(JavaBean,Action) 4)数据访问(JDBC+DAO)

    hibernat(当当网)

    6)局部刷新脚本与服务器交互:Ajax技术 7)数据库访问:JDBC,dbcp(连接池) 3:采取分层思想 1)表现层(js,css,jsp) 2)控制器层(struts2) 3)业务层(JavaBean,Action) 4)数据访问(JDBC+DAO)

    Spring in Action(第二版 中文高清版).part2

    16.2 协同使用Spring和WebWork 2/Struts 2 16.3 集成Spring和Tapestry 16.3.1 集成Spring和Tapestry 3 16.3.2 集成Spring和Tapestry 4 16.4 协同使用Spring和JSF 16.4.1 解析JSF管理的属性 16.4.2 解析Spring...

    Spring in Action(第2版)中文版

    16.2协同使用spring和webwork2/struts2 16.3集成spring和tapestry 16.3.1集成spring和tapestry3 16.3.2集成spring和tapestry4 16.4协同使用spring和jsf 16.4.1解析jsf管理的属性 16.4.2解析springbean 16.4.3...

    达内Java培训项目(当当网/通用电子商务系统)

    深刻体会到Ajax的优势,异步发送请求处理与页面局部刷新,提高了系统的用户体验度。 通过使用工厂模式和面向接口设计模式降低了程序的耦合度,提高程序灵活性。 通过大量编写代码,养成了更加规范的代码习惯。

    Spring in Action(第二版 中文高清版).part1

    16.2 协同使用Spring和WebWork 2/Struts 2 16.3 集成Spring和Tapestry 16.3.1 集成Spring和Tapestry 3 16.3.2 集成Spring和Tapestry 4 16.4 协同使用Spring和JSF 16.4.1 解析JSF管理的属性 16.4.2 解析Spring...

    模拟购物网站

    在Struts框架中,JSP用于前端展现,Servlet 用于控制,Ajax实现异步刷新,Action 用于处理前端页面JSP发来的请求,请求参数通过ActionForm进行传递,Action 在获得请求后通过调度业务系统进行做处理,最后将处理结果...

    毕业论文,网上购物

    在Struts框架中,JSP用于前端展现,Servlet 用于控制,Ajax实现异步刷新,Action 用于处理前端页面JSP发来的请求,请求参数通过ActionForm进行传递,Action 在获得请求后通过调度业务系统进行做处理,最后将处理结果...

    ARCH4系统开发指南

    2.19.3 后台JAVA类为前台JS函数返回结果 42 2.19.4 总结 45 2.20 金额的JAVA精确计算 45 2.20.1 double型数据不能进行精确计算 45 2.20.2 四舍五入 46 2.20.3 科学记数法 47 2.20.4 java.math.BigDecimal介绍 48 ...

    spring web flow demo

    Ajax 事件的处理与 Web Flow 事件的处理相一致,在处理完成后, flow 即可刷新客户端相关 界面代码。 • 与 JSF 整合 通过将 JSF 层层包装,最终可在 Spring Framework 和 Spring Web Flow 中使用 JSF 的各种 组件。...

Global site tag (gtag.js) - Google Analytics