2017-08-22 11:15
@JFinal 我仔细想了下还是感觉没必要去继承AjaxInterceptor,全局拦截器肯定会被调用,我controller级别的拦截器不去处理异常就行了全部交给全局拦截器做就好了
2017-08-22 11:01
@JFinal 我刚刚问题是我自己没搞明白,现在我弄清楚了
原因是我有一个全局AjaxInterceptor拦截器做请求类型判断来区别返回exception后的类型,只做这么一件事情
我又有一个adminInterceptor是个controller级别的拦截器,这个做admin业务用的
因为我执行的那个action上有adminInterceptor这个拦截器,我action异常了首先被adminInterceptor try catch到了,所以AjaxInterceptor没有捕获到异常
为了解决这个问题我让adminInterceptor不try catch 去继承了AjaxInterceptor,让AjaxInterceptor帮我做异常处理,我只做业务逻辑操作,具体代码
public class AdminInterceptor extends AjaxInterceptor {
public void intercept(Invocation ai) {
Controller controller = ai.getController();
RequestContextHolder.setRequestAttributes(controller.getRequest());
if (SubjectKit.isAuthed()) {
super.intercept(ai);
} else {
controller.redirect("/admin/login.jhtml");
}
}
}
请教下波总,我这么实现合不合理?
2017-08-21 11:15
@JFinal 而且那些枚举都是写在同一个class中的都是在EnumDefine的这个class,我所有的枚举都再写这里是准备时候写个转表工具去转xml,让策划去改xml的数据这样程序和策划的工作就解耦了。
所以如果EnumDefine这个类里的枚举都是一个方法名是不是就全部被最后一个枚举的public覆盖了?
我前端其实是想去取GOODS_TYPE_GENERAL这个的code我改怎么去写呢
2017-08-21 11:03
@JFinal 如果我想获取GOODS_TYPE_GENERAL这个枚举的code应该怎么写,波总。。。
而且我好多枚举方法名都一样比如
public enum GoodsOrderType {
GOODS_ORDER_TYPE_PRICEASC(1, "priceAsc"), //价格升序
GOODS_ORDER_TYPE_PRICEDESC(2, "priceDesc"), //价格降序
GOODS_ORDER_TYPE_SALESDESC(3, "salesDesc"), //销量降序
GOODS_ORDER_TYPE_SCOREDESC(4, "scoreDesc"), //评分降序
GOODS_ORDER_TYPE_DATEDESC(5, "dateDesc"); //日期降序
private Integer code;
private String msg;
GoodsOrderType(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
public Integer getCode() {
return code;
}
public String getMsg() {
return msg;
}
/**
* 根据枚举的code返回枚举对象
*
* @param code 枚举code值
* @return 枚举对象
*/
public static GoodsOrderType getEnumByCode(Integer code) {
if (code == null) return null;
for (GoodsOrderType status : values()) {
if (status.getCode() == code)
return status;
}
return null;
}
}
那是不是我getCode和GetMsg要换个名字啊比如getXXXCode和getXXXMsg不然是不是方法覆盖了?
2017-08-13 14:17
@JFinal 我尽量提高自己给jfinal做贡献,但是感觉想达到波总的高度估计这辈子也赶不上了,只能站在巨人的肩膀上写代码
2017-08-13 13:46
@JFinal 换成3.2可以了,save怎么办?save连(string sql, Object[] para)的函数申明都没有实现,我save如果是去sql模板找sql并动态传参如何实现?我想了下如果我用Db.update(insertSqlPara)去放insert sql 语句这样有问题吗波总