jfinal 在一个表单中提交一个model和文件 后台model无法接受

jerrytao 发布于 2013/04/27 20:20
阅读 487
收藏 1

RT

debug model null

enctype="multipart/form-data"  

加载中
2
JFinal
JFinal
注意看 JFinal  手册第17页标红的字体,multipart 请求中的parameter需要getFile来解析才能得到,所以需要先调用一次任意一个getFile方法,才能再调用getPara方法得到数据
j
jerrytao
是。。我后来发现了 先getFile才可以getModel。。。
0
okk
okk
一般不会出这个问题,你看看form里面是否是 bean.属性,后台是否用getModel(Bean.class);form是否是method ="post",我用form提交并上传的时候是可以的。
j
jerrytao
求共享测试 我这确实不行 getRequest 一个一个参数取得 感觉比较麻烦
0
okk
okk

我的例子代码:

<form id="news_form" class="form-horizontal" action="${base}/admin/news/save" method="post" enctype="multipart/form-data">

<input type="hidden" name="newsToken" value="${newToken!''}" />
<div class="control-group">
<label class="control-label" for="title">
*标题:
</label>
<div class="controls">
<input id="title" type="text" class="input-xxlarge" name="news.title" placeholder="请在此处输入新闻标题" />
<p class="help-inline">
${titleValidator!"请输入新闻标题!"}
</p>
</div>
</div>
...................................

<div class="form-actions">
<a id=saveToNews class="btn btn-success">立即发布</a>
<a id="cancel" class="btn">取消</a>
</div>
</form>




后台:
public void save() {
this.getFile("file","/upload/news/img/");
News news = getModel(News.class);
news.set("uid", currentUser().getId());
boolean result = news.save();
}
没什么特别的,注意参数是name="news.xx"即可。

0
咪咪眼
咪咪眼
好哇,果然是这样的
返回顶部
顶部