2022-02-25 09:53

前端参数前缀 eduTeacher 首字母小写

2021-09-02 14:02

// 可上传文件类型
Kv kv = fileService.ableUploadFileType();
这个我是配置到表里的 然后查到放到缓存里 你也可以不放到表里
------------------------------------------------------------------------------------------
public Kv ableUploadFileType() {
Kv kv = CacheKit.get(CacheConst.FILE_TYPE_CACHE, "fileTypeCache", new IDataLoader() {
@Override
public Kv load() {
Kv kv = Kv.create();
String sql = "SELECT * FROM T_FILE_TYPE";
Db.find(sql).forEach(record -> {
kv.set(record.getStr("TYPE"), record.getInt("CODE"));
});
return kv;
}
});
return kv;
}

2021-09-02 13:58

你可以参考下我这个 我只是简单实现 你看看满足你的需求吗

--------------------------------------------------------------------
public class UploadableFileInterceptor implements Interceptor{

@Inject
private FileService fileService;

@Override
public void intercept(Invocation inv) {
Controller controller = inv.getController();
HttpServletRequest request = controller.getRequest();
String contentType = request.getContentType();
// 如果Request是MultipartRequest类型的请求 则校验是否是可上传的文件类型
if(request instanceof MultipartRequest
|| (contentType != null && contentType.toLowerCase().contains("multipart"))) {
// 可上传文件类型
Kv kv = fileService.ableUploadFileType();
@SuppressWarnings("unchecked")
Set ableUploadFileType = kv.keySet();

List files = controller.getFiles();
for (UploadFile uploadFile : files) {
String originalFileName = uploadFile.getOriginalFileName();
// 文件后缀
String fileExtension = FileKit.getFileExtension(originalFileName);
if(StrKit.isBlank(fileExtension)) {
this.clean(files);
controller.renderJson(Ret.fail("msg", originalFileName + "文件格式错误 无后缀"));
return;
}

if(! ableUploadFileType.contains(fileExtension.toLowerCase())) {
this.clean(files);
controller.renderJson(Ret.fail("msg", fileExtension + "类型文件不可上传"));
return;
}
}
}

inv.invoke();
}

/**
* 清空上传文件
*/
private void clean(List files) {

// 不清空基础上传文件路径下的所有文件 防止上传以后不移动文件 直接以该路径为存储路径的情况下 删除文件
// Constants constants = JFinal.me().getConstants();
// String baseUploadPath = constants.getBaseUploadPath();
// String folder = PathKit.getWebRootPath() + "/" + baseUploadPath;
// File file = new File(folder);
// if(file.exists()) {
// FileUtil.clean(file);
// }

// 改为循环删除 只删除上传文件
files.forEach(uploadFile -> {
FileKit.delete(uploadFile.getFile());
});
}

}

2021-08-13 09:21

你不会是直接走的ajax吧?

2021-01-15 08:43

@graphics 那你这种情况就无所谓了 不需要纠结这些 你想要直接用数据库字段就getModel bean的形式 就用getBean 入参接收到就可以 想要详细了解的话你可以看看 Injector 这哥们就很明白了

2021-01-08 16:43

getModel与getBean区别在于前者使用数据库表字段名而后者使用与setter方法一致的属性名进行数据注入。建议优先使用getBean方法。

数据库字段 dept_name
使用getBean 你的form name 为setter方法去掉set 首字母变小写 setDeptName=>deptName
getModel 就是数据库字段了dept_name
而“deptName”这种方式是传统bean的方式

2020-12-29 09:11

@杜福忠 波总声音好青涩啊 hhhhh

2020-12-28 18:44

@糊搞 哈哈哈 你好焦急啊 https://jfinal.com/share/2253

2020-12-16 17:26

@steven_lhcb_9527 就单纯一个判空动作也没后续调用别的,没必要Optional,而且Optional在这里也没用。