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

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


先先交代一下背景:我使用的是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;" οnchange="onChanges();" multiple="multiple">
			 </div>
			</td>
		</tr>
</table></div>
		<tr>
			<td colspan="2" class="tb3">
			<a class="submita1" href="javascript:void(0);" οnclick="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);
}



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




  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值