2019-11-08 16:53

@6165zyx 服务端只负责发送文件内容,你的这个需求完全是客户端的事,注意配置浏览器的相关选项,有个配置可以开启路径选择,而且这个是默认的

可能是你在某次下载的时候,勾选了一直默认下载到这个目录下面,所以现在下载的时候就不出现对话框了

总之,这个问题肯定是与服务端无关的

2019-11-08 16:51

@网友 jfinal 并未提供 webservice 功能,而你的项目中用到了 webservice,想必你是通过整合了某个 webservice 第三方

因此,只需要针对这个第三方,看看它的文档,找到 sun-jaxws.xml 即可

2019-11-08 16:49

@kevinzhaoyp 稍微看一下文档就会用了,sql 模板只提供了 #para、#sql、#namespace 三个指令,可以搞定大部分问题

需要其它功能的时候,可以直接使用 enjoy 已有的功能,因为 sql 模板是 enjoy 引擎实现的,用上文档中介绍的 enjoy 用法即可:
https://www.jfinal.com/doc/6-1

注意文档中强调的:
立即掌握 90% 的用法,只需要记住一句话:JFinal 模板引擎表达式与 Java 是直接打通的

2019-11-08 15:35

参考一下这个:
https://www.jfinal.com/share/877
https://www.jfinal.com/share/257

2019-11-08 15:34

@青山楼外楼 再细心一点,单步调试进入方法内部,看看生成的 sql 与参数对不对

2019-11-08 15:33

jar 包内部存在同名配置文件,那么 config 下面的则不会加载,这是一个优先级问题

在打包的配置中,配置一下过滤,避免将配置文件打入 jar 包

如果是 jfinal undertow 的配置文件,还可以通过 -dev、-pro 结尾字符串来实现你的需求,让 jar 包打入 -dev 配置,让 config 中放 -pro 配置,例如:
1: jar 包中打入 undertow.txt
2:config 目录放入 undertow-pro.txt
这样的话 config 目录的就会被加载

如果是 jfinal 自身的配置文件,可以在 MyConfig 中这么来用:
public class MyConfig extends JFinalConfig {
private Prop p;

public void configConstant(Constants me) {
this.p = PropKit.useFirstFound("jfinal-club-config-pro.txt", "jfinal-club-config-dev.txt");

me.setDevMode(p.getBoolean("devMode"));
}

public void configEngine(Engine me) {
me.setDevMode(p.getBoolean("engineDevMode");
}

上面的代码 PropKit.useFirstFound(first, second) 会优先年 first 配置,找到则使用,找不到则继承找 second 配置

而你就可以利用这个 PropKit.useFirstFound(...) 机制,将 second 打入 jar 包, 让 first 配置放入 config 目录

这种用法在 jfinal club 中有,注意看源码:
JFinalClubConfig

2019-11-08 15:27

@scocai 不加引号就当成数值类型处理了,如果在 long 值的范围内,并且超出 int 的范围,可以添加字符 ‘L’ 结尾,例如:
set(id, 112406187943849984L);

2019-11-08 15:25

这个代码貌似与 jfinal 无关,而且代码里头并未表达出什么特别的意思,仅仅只是几个简单的方法调用而已,也没有复杂的逻辑

2019-11-08 15:24

啥意思?

2019-11-08 15:23

在 jfinal 俱乐部专享群里面有下载,建议加入俱乐部:
https://www.jfinal.com/club

两个字:超值

2019-11-08 15:23

价格低了

2019-11-08 15:22

jfinal 十分重视版本兼容性,2.1 升到 4.3 很轻松,官网还提供了详细的升级文档:
https://www.jfinal.com/doc/14-1

2019-11-08 15:20

@鼻涕刘o0 高版本 jfinal 为了 tomcat、jetty 下的安全性,默认无法直接访问 JSP 文件,需要配置一下才可以直接访问:
public void configConstant(Constants me) {
me.setDenyAccessJsp(false);
}

2019-11-08 15:19

JFinal + ActiveMQ 的分享极为稀有,谢谢你的分享,赞

2019-11-08 15:18

贴主认为 "不用继承" 是属于轻量级框架的一个特征,这个肯定是误解

spring、struts 这类 web 框架的 controller 确实可以不用继承就可以实现,但是必然会在 action 中出现对于类似于 ActionContext、ActionSupporter 等等之类的组件的依赖

也就是说,侵入性只是换了一种方式,但是不可能完全消除

从根本上来说,你使用某个框架,就必然对其组件有所依赖,也就必然有侵入性,只是侵入的方式有所不同

那么我们所说的追求的少侵入性或者无侵入性到底是什么呢?
做好业务层,让业务层对框架无依赖,这个在侵入性方向的努力才是对的,业务层在未来可以拆分出来换到不同的 web 框架中使用

最后,退一步讲,极少情况会出现将 controller 中的代码迁移到另一个 web 框架中使用的情况,所以完全无侵入性其实没有什么意义

继承可以带来很多好处,试用一下 jfinal 的 controller 就会知道,一个简单的继承立即拥有了十分之多的可用方法,让开发变得非常便捷