一些 jfinal 使用中的笔记,备忘。

1、jfinal 数据库查询获得列表,判断有无。用 null 不好使,需要用 size( ) 。

...
List<Share> shareList = getTopShareList(temp.getAccountId(), 5);
 if(shareList.size() > 0){ ... }
 
...

2、循环修改、删除 List<model> 中的数据,for 不好使,需要用 listIterator( ) 。

3、Controller.isParaExists(int),判断 “int” 处参数是否存在;控制器方法 checkUrlPara(int x) 检查参数长度

4、add("/xxx", ShareController.class, "/share");  改变路由,需要修改PageViewService、NewsFeedService、favorite.java、LikeMessageLogService.java、NewsFeedReplyService.java等。

5、头像上传 getFile("avatar", srv.getAvatarTempDir(), srv.getAvatarMaxSize());  getFilt 会获取 文件域 avatar 中文件 把它放到临时目录 srv.getAvatarTempDir() 中。

6、jfinal 请求中,函数处理出现异常,也会出现 404 , 请进一步验证,具体 头像上传移动端。6-14

以上原因是断点设置原因,设置再靠前一点就可以很明显的知道原因了。

....
public void saveAvatar() {

        String avatarUrl = getSessionAttr("avatarUrl"); //应该设到
        这个位置,
        int x = getParaToInt("x"); //设置到这因为“x” 如果是含小数的
        字符串,就会返回 404 。 toInt(搜索这个 jfinal 方法查看原因)
        
        
....


7、forwardAction  和 redirct 不同 6-14

在 action 方法中调用本 controller 中的另一个 action 方法就是一个普通的方法调用而已。而 forwardAction(...) 方法则将本次请求转发给指定的 action,如果被转发到的 action有 interceptor 的话会被调用到。本质的区别就在于后者会调用目标 action 的拦截器,你可以当做是一次新的请求,但对于浏览器来说只是一次请求 :) (引用一下:https://www.oschina.net/question/587900_61870,http://www.oschina.net/question/219762_218153?sort=time)      

8、 反射:http://www.cnblogs.com/lzq198754/p/5780331.html
      代理:http://www.cnblogs.com/machine/archive/2013/02/21/2921345.html
http://www.cnblogs.com/flyoung2008/archive/2013/08/11/3251148.html
https://www.ibm.com/developerworks/cn/java/j-lo-proxy1/index.html

      编译时与运行时:http://blog.csdn.net/ahqierlian/article/details/51195147

9、程序中 methodName  是指  控制器中的方法  index    detail 等

      Before 注解的拦截器,是运行时通过反射 getAnnotation(Before.class)  获得的

10、 try  catch 出错如何处理研究

11、getParaToInt("p", 1)  第二个参数为默认值

12、我在如果前台转json我们现在的getmodel支持吗

String jsonString = HttpKit.readData(getRequest());

 User user  = FastJson.getJson().parse(jsonString, User.class);

待续...

======================19-1-15============

1、finalView = baseViewPath + viewPath + view
注意:当view以 “/” 字符打头时表示绝对路径,baseViewPath 与 viewPath 将被忽略。

4-18

https://www.oschina.net/question/1020238_2216259?sort=default

评论区

qemi

2017-06-03 12:08

占个位置,也算在这安家了。以前一点JAVA基础都没有,盼各位前辈多指点。

JFinal

2017-06-03 13:36

多多分享一些自己觉得有价值的文章出来,感谢支持社区发展

Romeo

2017-07-19 15:30

第1条建议改为shareList!=null&&shareList.size()>0

C20-weice

2018-03-05 19:31

@qemi 第一条返回null就报错了。