JFinal 表单提交文件上传时获取不到值

来源:互联网 发布:淘宝 未上架 抢购技巧 编辑:程序博客网 时间:2024/05/17 22:24

作为一个菜鸟级别的程序员,初次写博客,只是简单的记录一下自己在工作过程中遇到的一些问题。大神勿喷。微笑


先先交代一下背景:我使用的是JFinal框架(我也不清楚别的框架是不是也会出现这个问题)。因为表单中需要同时提交上传的文件,所以使用了enctype="multipart/form-data"这个属性,从而在后台获取数据的时候出现了一些小问题。


前台代码:

<form id="panel1form" action="testmthod" method="post" enctype="multipart/form-data"><table><tr><td class="tb1">内容1:</td><td class="tb2"><input id="ID1" class="text2" type="text" name="m.column1" value=""></td></tr><tr><td class="tb1">内容2:</td><td class="tb2"><input id="ID2" class="text2" type="text" name="m.column2" value=""></td></tr><tr><td class="tb7" colspan="4">附件上传</td><td class="tb7"><div id="center1"><a href="javascript:fileclick();" class="a-upload" id="img_1">点击这里上传文件 </a><input type="file" name="upfile_1" id="upfile_1" style="display: none;" onchange="onChanges();" multiple="multiple"> </div></td></tr></table></div><tr><td colspan="2" class="tb3"><a class="submita1" href="javascript:void(0);" onclick="submitsign();">提交</a></td></tr></table></form>


后台代码(错误)

@Before(Tx.class)public void testmthod() {Test t = getModel(Test.class, "m");List<UploadFile> files = getFiles();int userid = getcUser_front().getFuserId();List<String> sizelist = new ArrayList<String>();if (files.size() != 0) {for (int i = 0; i < files.size(); i++) {sizelist.add(getPara("size_" + (files.size() - i)));}}Duang.duang(TestService.class);Object obj = testService.saveOrupdateInfo(t, userid, files, sizelist);renderJson(obj);}


后台代码(正确)

@Before(Tx.class)public void testmthod() {List<UploadFile> files = getFiles();Test t = getModel(Test.class, "m");int userid = getcUser_front().getFuserId();List<String> sizelist = new ArrayList<String>();if (files.size() != 0) {for (int i = 0; i < files.size(); i++) {sizelist.add(getPara("size_" + (files.size() - i)));}}Duang.duang(TestService.class);Object obj = testService.saveOrupdateInfo(t, userid, files, sizelist);renderJson(obj);}



注意前两行代码的先后顺序,不可以颠倒,不然获取不到表单提交的一些值,只能获取到上传的文件。在这个坑里掉了两次,终于记住它了。




阅读全文
1 0
原创粉丝点击