[学习笔记]--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();
这后面的 代码 有的涉及到了 其它地方 所以我就选了一下 相关的出来,大家能够看看这个思路。写作水平有限。请勿喷~
[学习笔记]--Jfinal 表单提交附件的更多相关文章
- 20151223jquery学习笔记--Ajax表单提交
传统的表单提交, 需要多次跳转页面, 极大的消耗资源也缺乏良好的用户体验. 而这款form.js 表单的 Ajax 提交插件将解决这个问题.一. 核心方法官方网站: http://malsup.com ...
- SpringMVC学习笔记:表单提交 参数的接收
SpringMVC可以接收原生form表单和json格式数据 有一个名为Book的model,其中的属性如下: 字符串类型的name,数字类型的price,数组类型的cover,集合类型的author ...
- AngularJS 1.2.x 学习笔记(表单校验篇)
https://my.oschina.net/cokolin/blog/526911 摘要: 本文首发于 blog.csdn.net/vipshop_ebs/article/details/39472 ...
- Bootstrap学习笔记(二) 表单
在Bootstrap学习笔记(一) 排版的基础上继续学习Bootstrap的表单,编辑器及head内代码不变. 3-1 基础表单 单中常见的元素主要包括:文本输入框.下拉选择框.单选按钮.复选按钮.文 ...
- Symfony2学习笔记之表单
对于一个Web开发者来说,处理HTML表单是一个最为普通又具挑战的任务.Symfony2集成了一个Form组件,让处理表单变的容易起来.在这一节里,我们将从基础开始创建一个复杂的表单,学习表单类库中最 ...
- [知了堂学习笔记]_Jquery_Validate 表单校验的使用
一.效果图: 二.JqueryValidate的好处 在做注册.或者类似以上的表单提交的时候,大家是不是都很烦那种,把数据拿到后台去判断, 可能经过了正则表达式之类的复杂判断,然后发现数据错误.接着通 ...
- php学习笔记-获取表单数据
在网页上经常要填写用户名和密码,点击确认按纽之后,用户名和密码经过前端处理之后发送到了服务器上,那么服务器端怎么获取到这些用户提交的数据呢?就是通过超级全局变量 _POST和_GET 先拿_POST做 ...
- vue学习笔记(六)表单输入绑定
前言 在上一章vue学习笔记(四)事件处理器这一篇博客的内容中,我们已经了解vue是如何绑定事件的,而本篇博客主要讲解的是vue中表单输入的绑定,通常我们自己提交信息的时候都是通过表单将信息到服务器的 ...
- PHP再学习1——cURL表单提交、HTTP请求和响应分析
1.前言 最近迷恋WEB方面的技术,虽然自己是一个嵌入式工程师,但是我深知若需要把传感器终端的数据推送至“平台”必然会和WEB技术打交道.在工作中发现嵌入式工程师喜欢 二进制形式的协议,例如MODBU ...
随机推荐
- 【Firefly API 新版文档】Package dbentrust
原地址:http://blog.csdn.net/uxqclm/article/details/11969653 该包下面主要是数据库的处理与memcached存储.里面封装了,从memcached数 ...
- java中获得jar包执行路径的方法
当我们由于某种需要需要的得到jar的路径是可以用下面的方式来获得: basePath = new Solution().getClass().getProtectionDomain().getCode ...
- POJ3714+最近点对
特判标记即可 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h& ...
- android TabActivity的局限性 是否还有存在的必要性
TabActivity的局限性 是否还有存在的必要性 其实谷歌有此举动,我们也应该早就想到了,为什么会这么说呢?那就要从TabActivity的原理开始说起了. 做个假定先: 比如我们最外面的Act ...
- php 数组指针相关函数current(),next(),prev(),end()
mixed current(array target_array) current()函数返回位于target_array数组当前指针位置的数组值.与next().prev().和end()函数不同, ...
- RunTime报错的一个原因,以及截图
const char * handle; handle = m_conn->openFile(szRemoteFile,"writeOnly","createTru ...
- wzplayer for ios 针对(mms)优化版本V1.0
wzplayer for ios针对mms优化版本发布. 1.支持mms,http,rtmp,rtsp等协议 2.支持全格式 下载地址:http://www.coolradio.cn/WzPlayer ...
- lib 合并
方法1: 命令如下:lib.exe lib1.lib lib2.lib ... /out:hw.lib 另一种合并的方法: 思路:lib.exe 可以把lib文件里的obj文件取出来,然后把这些obj ...
- Oracle建表插数据等等
Oracle的表的管理: 表名和列的命名规则,详见 数据库命名规范 . 必须以字母开头 . 长度不能超过30个字符 . 不能使用Oracle的保留字 . 只能使用如下字符 column_name-Z, ...
- 快速定位隐蔽的sql性能问题及调优【转载】
在前几天,有个开发同事问我一个问题,其实也算是技术救援,他说在有个job数据处理的频率比较高,在测试环境中很难定位出在哪有问题,而且速度也还能接 受,但是在生产环境中总是会慢一些,希望我能在测试环境中 ...