2019-11-08 10:43

https://www.jfinal.com/feedback/6685 你看看我这。应该是没有问题的。

2019-11-04 09:48

@JFinal updateStockInOrderToDelete方法从private改成public后可以注入Tx拦截器

2019-11-02 12:07

@JFinal 业务层的拦截器的触发条件是不是说,先在业务层使用@before方法注入拦截器,然后再controller控制层使用@Inject注入,并且控制层必须要有 service.方法名 调用这个方法,这个方法的拦截器才会被触发。

如果这个业务层的方法,是被业务层的其他方法调用的,那么这个方法的拦截器就无法触发。

2019-11-01 08:57

@JFinal forceToComplete这个方法在controller,updateStockInOrderToDelete这个方法在Service业务层,不是controller里面的方法,不clear的话,异常情况数据库没有插入数据,说明事务是开启的,Config中已经配置了me.setInjectDependency(true)。

2019-10-25 16:44

@JFinal 此处呼叫大佬,我也遇到这个问题了

2019-10-19 09:45

@小不点JSW 前端用特殊字符替代一下,接收后再转回来。。

2019-10-11 14:04

@中 你查出来的明细不可能每条都改了吧,只提交被修改过的数据就好了。

2019-09-20 14:45

工具类PropertiesUtil

import com.jfinal.kit.PathKit;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

/**
* @Date: 2019-09-20 14:59
* @Version v1.0.0
*/
public class PropertiesUtil {

public static final String FILE_NAME = "api.properties";

/**
* 循环所有key value
*/
public static Map list(Properties p) {

Map propertiesMap = new HashMap<>();
Enumeration en = p.propertyNames(); //得到配置文件的名字
while(en.hasMoreElements()) {
String strKey = (String) en.nextElement();
String strValue = p.getProperty(strKey);
propertiesMap.put(strKey,strValue);

}
return propertiesMap;
}

/**
* 通过key删除value
* @param key
*/
public static void delete(Properties p,String key) {

p.remove(key);
fileupdate(p);
}

/**
* 修改或者新增key
* @param key
* @param value
*/
public static void update(Properties p,String key, String value) {
p.setProperty(key, value);
fileupdate(p);
}

public static void fileupdate(Properties p){

FileOutputStream oFile = null;
try {
oFile = new FileOutputStream(PathKit.getRootClassPath()+ File.separator + FILE_NAME);
p.store(oFile, "");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
oFile.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

2019-09-20 14:42

这里我只想改api.properties, 如果要动态,直接把文件名当参数传入就好了