springmvc velocity 文件上传 json返回 主要代码

摘要:主要实现步骤:1.jsp发送请求使用jquery.form.js  2.controller下载并返回json数据 3.配置spingmvc.xml  4、页面脚本接受并处理数据

注意:这只是主要代码

springmvc.xml

<context:component-scan base-package="。。。。" />
	
	<mvc:annotation-driven />
	
	<mvc:default-servlet-handler/>
<!--     <mvc:resources location="/upload/" mapping="/upload/**"/> -->
<!--     <mvc:resources location="/error/" mapping="/error/**"/> -->
    <!-- 配置velocity引擎 -->
    <bean id="velocityConfigurer" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
	        <property name="resourceLoaderPath" value="/web" />
	        <property name="configLocation" value="/WEB-INF/velocity.properties" />
    </bean>

    <!-- 配置视图的显示 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">  
	       <property name="prefix" value="/" />
	       <property name="suffix" value=".html" />
	       <property name="contentType" value="text/html;charset=UTF-8" />
	        <property name="toolboxConfigLocation" value="/WEB-INF/toolbox.xml" />
	       <property name="dateToolAttribute" value="dateTool" />
	       <property name="numberToolAttribute" value="numberTool" />
	       <property name="exposeRequestAttributes" value="true" />
	       <property name="exposeSessionAttributes" value="true" />
   </bean>
   
   <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
     <!-- 1024*1即1k  byte-->
     <property name="maxUploadSize" value="104857600" />
     <property name="maxInMemorySize" value="4096" />
     <property name="defaultEncoding" value="UTF-8"></property>
  </bean>
    
    
    <!-- 总错误处理-->  
	<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">  
	    <property name="defaultErrorView">
	        <value>/error/error</value>
	    </property>
	    <property name="defaultStatusCode"> 
	        <value>500</value>
	    </property>
		<property name="warnLogCategory"> 
	        <value>org.springframework.web.servlet.handler.SimpleMappingExceptionResolver</value>
	    </property> 
	</bean>
这里输入代码

js代码:

$(document).on('ready', function() {
	
	 $("#btnSubmit").on('click', function() {
		 $('.modle').show ();
		 $('.modles').show ();
		 $("input[data-url]").val();
		 $("#select_form").ajaxSubmit({
				type: "POST",
				url:"full!update.do",
				dataType: "json",
				error : function(data) {
					alert("处理失败!")
					$('.modle').hide ();
					 $('.modles').hide ();
				},
			    success: function(data){
			     	if(data.msg=='ok'){
			     		location.href=data.url;
			   		}
			    	else{
			    		if(data.msg != null || data.msg != ""){
			    			alert(data.msg);
			    		}else{
			    			alert("保存失败");
			    			
			    		}
			    	}
			     	$('.modle').hide ();
					$('.modles').hide ();
				}
			});
	 });
	
});


html代码

 <form  id="select_form" 
			 		method="post" 
			 		enctype="multipart/form-data">
					<input type="file" name="logourl" />
				</form>



后台代码

public class FileUploadVO {
	
	private CommonsMultipartFile logourl;
	public CommonsMultipartFile getLogourl() {
		return logourl;
	}
	public void setLogourl(CommonsMultipartFile logourl) {
		this.logourl = logourl;
	}
}

@RequestMapping(value = "/full!update.do")
	public void upload(FileUploadVO fileUpload,HttpServletRequest request,//
						HttpServletResponse response) {//
		String projectUrl = request.getContextPath();
		JSONObject ob = new JSONObject();
		PrintWriter out = null;
		Map<String,String> errorMap = new HashMap<String,String>();
		try {
			out = response.getWriter();
			appInfoEditBiz.editAppInfo(staffId,fileUpload,uploadUrl,pasCopyDir,uploadHomeDir,errorMap);// 
	
			ob.put("url", projectUrl + "/appOutputFull/listDetails.do?prodId="//
							+fileUpload.getProdid()+"&searchConditions="//
							+fileUpload.getSearchConditions()+"&isEdited=isEdited");//
			ob.put("msg","ok");
			out.print(ob);
		} catch (Exception e) {
			
			if(errorMap.size() > 0 && errorMap.get("result") != null){
				ob.put("msg",errorMap.get("result"));
			}else{
				ob.put("msg","保存失败");
			}
			out.print(ob);
		}finally {
			if(out != null){
				out.flush();
				out.close();
			}
		}
	}

转载于:https://my.oschina.net/u/2389884/blog/775686

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值