下面是8个最常见的问题总结。

1.Can not create instance of class: demo.DemoConfig.
觉得应该是你的路径有问题, 打开你项目的java build path面板, 然后找到default output folder, 把这里的输出改为your_project/WebRoot/WEB-INF/classes。
 
2.jfinal自带demo中如何在_layout.html加行<base href="${CONTEXT_PATH!}/"/>
 
按照如下步骤可解决问题:
 
在JFinalConfig中添加该ContextPathHandler,代码如下
 
public void configHandler(Handlers me) {
    me.add(new ContextPathHandler());
}
在_layout.html 的 head标记中添加 base 标记,代码如下
<base href="${CONTEXT_PATH}/" />
修改页面中的链接标签 a ,将最前面的 "/" 去掉,以下是要改的地方,可能有遗漏
比如:<link rel="stylesheet" type="text/css" href="static/framework/bootstrap/css/bootstrap.css" />
 
本质上来说context_path的问题仅与view有关,以上是JFinal提供的简单处理方案 :)
 
3.如果更改JFinal的web.xml 拦截后缀名。
<filter-mapping>
      <filter-name>jfinal</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
 “/*”不能正确出力“.html”这种后缀的动态请求。
 
 参考资料:
 新增一个HtmSkipHandler文件
 public class HtmSkipHandler extends Handler {  
    public void handle(String target, HttpServletRequest request, HttpServletResponse response, boolean[] isHandled) {  
        int index = target.lastIndexOf(".htm");  
        if (index != -1)  
        target = target.substring(0, index);  
        nextHandler.handle(target, request, response, isHandled);  
    }  
}
 
再在JfinalConfig文件增加
/**
     * 配置处理器
     */
    public void configHandler(Handlers me) {
        me.add(new HtmSkipHandler());
    }
 
4. URL中的参数,没有在上下文中。
访问1个url,http://localhost/news/list.html?categoryId=2
Freemarker页面${categoryId}竟然报错。
必须在Controller的方法中,手动设置才行:
setAttr("categoryId",categoryId);
 
5.JFinal中restful拦截器如何实现。
jfinal中有restful拦截器,直接添加就是了。
/**
 * 配置全局拦截器
 */
public void configInterceptor(Interceptors me) {
 me.add(new Restful());
}
 
URL:http://localhost/news/2
获得参数:Integer id = getParaToInt(0);
 
但是,JFinal自带的Restful拦截器是写死的,比如"http://localhost/news/2"这个url只能这么写,
响应方法只能是show,而在SpringMVC中,可以很灵活,比如“/detail/{newsId}”,方法名随便取。
 
6.JFinal设置404和500等页面。
public void configConstant(Constants me) {
me.setError404View(TEMPLATE_PATH+"/error/404.html");
me.setError500View(TEMPLATE_PATH+"/error/500.html");
}
 
7.JFinal统一异常处理。
public class ExceptionInterceptor implements Interceptor 
  public void intercept(ActionInvocation ai) {
Controller controller = ai.getController();
HttpServletRequest request = controller.getRequest();
 
try {
ai.invoke();
} catch (Exception e) {
}
}
 
/**
 * 配置全局拦截器
 */
public void configInterceptor(Interceptors me) {
me.add(new GlobalInterceptor());
me.add(new Restful());
me.add(new ExceptionInterceptor());
}
 
8.JFinal中配置Log4j。
源代码src目录下放置log4j.properties或log4j.xml,都行,xml格式也不需要额外配置listener之类的。

JFinal开发8个常见问题的更多相关文章

  1. JFinal开发web项目出现故障小记

    导读 作为中国优秀的开源项目之中的一个JFinal有着极速开发的优点,是中小型应用开发的首选.在导师的建议下.我使用了JFinal来开发一个Java服务端应用,官方教程非常easy.就几十页(当然是中 ...

  2. 关于jFinal开发中遇到的中文乱码问题解决办法

    关于jFinal开发中遇到的中文乱码问题解决办法 设置tomcat的编码,修改 <Connector port="8080" protocol="HTTP/1.1& ...

  3. 第123天:移动web开发中的常见问题

    一.函数库 underscoreJS _.template: <ol class="carousel-indicators"> <!--渲染的HTML字符串--& ...

  4. [UIKit学习]04.关于HUD提示框,定时任务、开发关于资源常见问题

    提示框的背景透明此时要设置background的Alpha值 定时任务 方法1:performSelector // 1.5s后自动调用self的hideHUD方法 [self performSele ...

  5. JFinal开发环境搭建,JFinal开发案例

     JFinal  是基于 Java  语言的极速  WEB  + ORM  开发框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restful.在拥有Java 语言所 ...

  6. K12协同开发在做常见问题时候遇到的问题

    一.在做常见问题的时候遇到的问题 在后端处理数据的时候是通过serialize来实现的,从数据库中查出自己想要的数据,直接返回数据. 在前端发送ajax请求获取数据并且在页面上以好看的形式渲染. 1. ...

  7. xadmin开发后台管理系统常见问题

    Xadmin开发后台管理系统 关注公众号"轻松学编程"了解更多. 添加小头像 https://blog.csdn.net/qq_34964399/article/details/8 ...

  8. 开发ffmpeg/live555常见问题错误及解决方法

    #include <iostream>using namespace std;extern "C" {#include <libavcodec/avcodec.h ...

  9. ecshop二次开发之购物车常见问题

    1.ecshop二次开发中保存注册用户购物车数据解决方法:ecshop购物车是数据库中cart表来支持的,在ecshop表中rec_id是编号,user_id是注册用户的id,session_id表示 ...

随机推荐

  1. ListCtrl控件着色

    最近在写一款山寨的反病毒软件,大致功能已经实现,还有一些细小的环节需要细化. 其中,在界面编程中,就用到了给ListCtrl控件着色,查看了网上一些文章,终于实现了. 其实说白了,原理很简单,就是Li ...

  2. 利用开源HTML5引擎lufylegend.js结合javascript实现的五子棋人机对弈

    前言     本文主要介绍利用开源引擎 lufylegend.js开发基于Html5的游戏--五子棋,主要叙述其详细开发过程. 游戏规则 玩过五子棋的都应该知道五子棋的规则,这里就简单介绍其规则. 1 ...

  3. 开源yYmVc项目 v 0.2 版本号介绍

    项目地址:https://code.csdn.net/hacke2/yymvc 本版本号主要实现下面几点功能: 1.框架入口基于过滤器统一实现,action后缀动态配置 2.action配置模仿str ...

  4. VS2010使用静态编译的qt库

    Qt开发界面很方便,但发布程序就不那么方便了,你的把引用到的dll一起发布才行,要是能静态编译就好了,发布的时候只有一个exe多方便. 虽然以前为了方便,直接安装的qt-windows-opensou ...

  5. oracle事务(转)

    今天温习oracle事务,记录如下: 事务定义            事务是保持数据的一致性,它由相关的DDL或者DML语句做为载体,这组语句执行的结果要么一起成功,要么一起失败.        我们 ...

  6. OCP读书笔记(3) - 使用RMAN恢复目录

    创建恢复目录 在hndx上创建恢复目录:[oracle@oracle admin]$ export ORACLE_SID=hndx[oracle@oracle admin]$ sqlplus / as ...

  7. 2013 吉林通化邀请赛 Play Game 记忆化搜索

    dp[ba][ta][bb][tb]表示a堆牌从下面拿了ba张,从上面拿了ta张.b堆牌从下面拿了bb张,从上面拿了tb张.当前玩家能得到的最大的分数. 扩展方式有4种,ba+1,ta+1,bb+1, ...

  8. zoj 2822 Sum of Different Primes (01背包)

    ///给你n 求他能分解成多少个的不同的k个素数相加之和 ///01背包,素数打表 # include <stdio.h> # include <algorithm> # in ...

  9. AW笔记本升级SSD,外接双屏中的一些注意事项

    自己留一个mark,以后提醒用. 1)机械硬盘状态下利用alien sprawn创建的系统恢复U盘,无法在SSD下使用,由于SSD中没有recovery分区,仅仅能使用随机携带的系统恢复光盘: 2)最 ...

  10. 启动和关闭JBoss As 7.1.1脚本

    启动和关闭JBoss As 7.1.1,脚本例如以下djboss.sh: #!/bin/sh #JBOSS_HOME JBOSS_HOME=/opt/jboss case "$1" ...