2019-02-27 20:54

@JFinal
主要是做controller扫描,自动分发controller路径,下面是代码:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface LeeAction {

/**
* controller路由,请求链接
*/
String value();

/**
* 请求页面位置
*/
String viewPath() default "";
}

Config 配置如下:
/**
* 配置JFinal路由映射
*/
@Override
public void configRoute(Routes me) {
// 扫描的包为cn,baseViewPath为WEB-INF/views
me.add(new AutoBindRoutes("com.dmm.common.controller", "/views"));
}


AutoBinds代码:
public class AutoBindRoutes extends Routes {
/**
* controller扫描的包
*/
private String packName;
/**
* 视图基本目录
*/
private String baseViewPath;

public AutoBindRoutes(String packName) {
this.packName = packName;
}

public AutoBindRoutes(String packName, String baseViewPath) {
this.packName = packName;
this.baseViewPath = baseViewPath;
}

@Override
public void config() {
if (baseViewPath != null) {
setBaseViewPath(baseViewPath);
}
// 过滤
FileScanUtil fileScanKit = new FileScanUtil(LeeAction.class, packName);
List> controllers = fileScanKit.scanPackage();
// 循环controller,绑定路由
for (Class controller : controllers) {
// 获取注解上的内容
Annotation annotation = controller.getAnnotation(LeeAction.class);
LeeAction jAction = (LeeAction) annotation;
String url = jAction.value();
String viewPath = jAction.viewPath();
// 绑定路由
add(url, controller, viewPath);
}
}
}


也是参照论坛里分享的案例写的

2019-02-25 21:24

楼主解决了吗?现在我也遇到同样的问题

2019-02-17 15:52

@JFinal 嗯确实是index方法的,但是这边ajax 请求的login方法,后台却跳转到index方法,这个是什么原因啊?

2018-08-29 19:29

@JFinal 感谢赐教 根据你的方法 完美解决

2018-08-27 21:28

@JFinal 看了下我的代码
laydate.render({
elem: '#end' //指定元素 //这是第113行
});
这个是标签冲突吗?

2018-08-27 15:54

@JFinal 多谢多谢 我的理解思路错了 我以为与模板什么的相关 忘记检查html里面的语法了 麻烦了

2018-07-03 16:55

@JFinal 好的 谢谢,十分感谢大牛的解答,我才开始了解JFinal,我继续学习去了。

2018-07-02 16:32

public class Goods extends Model{


String Id; //商品Id
String Name;//商品名称
String Brief;//商品简介
String Spec; //规格

public String getId() {
return Id;
}
public void setId(String id) {
Id = id;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getBrief() {
return Brief;
}
public void setBrief(String brief) {
Brief = brief;
}
public String getSpec() {
return Spec;
}
public void setSpec(String spec) {
Spec = spec;
}
}

Model是这样的,我用setName这种的时候,Debug能看到是有值得,但是在执行时save后 数据貌似没有带到数据库里面去,但是执行了插入。

2018-07-02 14:25

@JFinal 好的 谢谢了,另外关于两种set 有什么区别呢? 谢谢大神亲自回复