zoukankan      html  css  js  c++  java
  • [学习笔记]--Jfinal 表单提交附件

    近期。项目里面用到了Jfinal 里面的上传附件。

    Jfinal 的Controller 里面提供了一个 getFile系列方法提供文件上传。

    我这里呢,是文件上传和表单參数一起提交。

    页面类似下图:

             

    这里form表单里面使用了 enctype="multipart/form-data" 。

    先看看Jfinal手冊的说明吧!大家看了就知道了


    然后还有个问题 假设是表单提交 还不能够用ajax 提交,详细的原因呢也找到了 http://www.oschina.net/question/941098_93842 

    这个就是为什么不能够使用ajax 提交了的原因。

    然后我们能够在页面里面 这样提交

    方法一:

    function tosave(){
    	var data = $("#表单id").serialize();
    	$("#<span style="font-family: Arial, Helvetica, sans-serif;">表单id</span>").attr("action","equipment/saveOrUpdate?"+data);//跳到指定的contronller
    	$("#表单id").submit();//提交
    };

    在提交button设置一个 onclick 事件。这样我们就把前台的表单里面的 A,B,C,D...等參数 我们就能够提交到后台了!

    后台代码:

    UploadFile file = getFile("filedata", path, 200 * 1024 * 1024, "UTF-8");//上传文件 而且获取表单參数

    好。到这里基本文件上传和表单里面的參数 我都能够获取到了。以往在这里 我们都是保存成功后 提示保存成功。而且刷新页面。

    可是这里我们没有返回值,或许你能够说你能够重定向或是转发啊。

    额,我仅仅想说我这里的需求就是提示保存成功。而且刷新列表页面,或是提示保存失败,

    也相同要刷新页面。

    so ..我就找了另外一种方法提交


    $('#表单id').ajaxForm({
        target:'#output1',  
        iframe:true,
        url : 'abc/saveOrUpdate',
        beforeSubmit:  function (){
        	var filename = $("input[name='filedata']").val();
    //    	alert($("#equ_no").val());
    //    	alert(filename);
    // 		if(filename.EndWith(".png") || filename.EndWith(".jpg")
    // 				|| filename.EndWith(".jpeg")|| filename.EndWith(".ico")){
    //			return window.confirm("确定要处理此文件吗?

    "); // }else{ // alert("请上传图片文件!"); // return false; // } } });


    这里用的是jquery 表单插件ajaxForm 详细使用方法去百度,我也是赶猪上架。

    好吧 继续看 我改进了的后台 部分代码

    String message = "操作错误";
    String result = Setting.OPTION_FAILUE;
    <span style="font-family: Arial, Helvetica, sans-serif;">UploadFile file = getFile("filedata", path, 200 * 1024 * 1024, "UTF-8");//上传文件 而且获取表单參数</span>

    this.setAttr("result", result);
    this.setAttr("message", message);
    this.renderHtml("<script>parent.showResponse('"+result+"','"+message+"')</script>");

    有木有发现 这里的renderHtml就类似 之前的 rendJson();

    这后面的 代码 有的涉及到了 其它地方 所以我就选了一下 相关的出来,大家能够看看这个思路。写作水平有限。请勿喷~  




  • 相关阅读:
    产生WM_PAINT 消息
    模板作为模板的参数
    转:网络游戏同步原理荟萃
    一个隐晦的c++语法问题
    Winbind authentication against active directory
    In Place Upgrade of CentOS 6 to CentOS 7
    How To mount/Browse Windows Shares【在linux{centos}上挂载、浏览window共享】
    File System Shell
    Administration Commands
    User Commands
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5315532.html
Copyright © 2011-2022 走看看