下载
http://git.oschina.net/yangtf/YangMVC/attach_files
框架简介
http://blog.csdn.net/taiji1985/article/details/51463480
更新说明
这个版本主要是添加了文件上传的处理。我们一般对于上传文件的处理方式是:
先将用户的上传存入一个文件中,随后将文件的相对路径存入数据库的某个字段。
吐槽
jsp默认的文件处理实在是弱爆了。 首先是request.getParameter()函数不能用了。
其次是默认不提供处理方法,要自己获取inputstream自己处理。。。。
想想php的方便快捷,完全没法比。
那么Jsp中一般处理的方法就是从网上找一个类库,比如我用的common-upload apache出品。。。
另外,用struts的话,可以声明三个相应的变量来接受数据。
YangMVC的文件上传使用案例
首先整一个jsp页面,放入视图中,如/view/up/index.jsp中:
<h1>${msg }</h1>
<form action="" method="post" enctype="multipart/form-data">
<input type='text' name='tt'></input><br>
<input type='file' name='ff'></input><br>
<input type='submit' name="上传"></input><br>
</form>
这里面一个是要设置enctype属性,一个要加input type=file
加好以后加一个控制器 com.demo.UpController
package org.demo;
import org.docshare.mvc.Controller;
public class UpController extends Controller {
public void index(){
if(isPost()){
put("msg","param tt is "+param("tt")+"<br>param ff is "+param("ff"));
}
render();
}
}
好了。输入网址 /up/
然后随便天添点数据,选个文件,点击上传。
OK了!
文件上传表单项的名字是ff , 在框架处理后,ff参数中得到的实际上是上传的相对地址。如果要存数据库,直接吧这个路径存进去就行。
tt中输入的数据也仍然使用param()函数就可以获取。 这保证了框架对用户界面的稳定性。并将复杂的文件上传操作进行了隐藏和简化。