JFinal

2019-05-22 16:00

注意看一下 render 时的参数,以 "/" 打头的时候将勿略 baseViewPath 与 viewPath

文档里面有详细说明

JFinal

2019-05-22 14:58

@scocai 看来这个 response.setCharacterEncoding(getEncoding()) 居然影响到了 content type,头一次发现这个

感谢反馈,赞

JFinal

2019-05-22 14:47

@深山老枪 还要注意一个问题,jfinal undertow 不支持 JSP, 用一下 jetty-server,文档中有说过:
https://www.jfinal.com/doc/1-6

JFinal

2019-05-22 14:46

@深山老枪 不对,你用的是 renderJsp , 所以不配置也是可以的

这个配置只是针对于 render , 而不是针对于 renderJsp 与 renderXxx 之类的

JFinal

2019-05-22 14:39

@scocai 与之有关的代码是下面两行:
response.setContentType(contentType);
response.setCharacterEncoding(getEncoding());

你传入的 contentType 参数会用上,而后面那个 setCharacterEncoding 仅仅是设置 encoding,应该是不会影响你的 header 中设置的 context type 值的

你可以做一个扩展:
public class MyTextRender extends TextRender {
public void render() {
在这里改掉父类中你认为有问题的代码
}
}

用的时候这样:
render(new MyTextRender(...));

JFinal

2019-05-22 14:22

在 configConstant(Constants me) 中配置一下:
me.setViewType(ViewType.JSP);

否则,默认使用的是 jfinal 的 enjoy 模板引擎。

强烈建议使用 enjoy,爽太多了

JFinal

2019-05-22 11:50

@jfinal009 已改进这里,感谢反馈

JFinal

2019-05-22 11:49

@scocai 那是因为别的地方在你这行代码之后被调用,你的在先,人家的在后,所以你的不生效

这个地方可能是 tomcat、jetty、undertow 容器干的,单步调试跟踪一下

JFinal

2019-05-22 11:30

int n = Db.update(sql);

n 就是影响的行数

JFinal

2019-05-22 11:24

@scocai header 里面的 content type 值,可以用
getResponse().setHeader(...)
或者
getResponse().addHeader(...)

前者会将已经存在的给覆盖,后者是追加

我估计你的用法没生效,是后来有别的地方的代码将你的覆盖掉了,所以你可以改一下 name 来先验证一下,例如 name 改成 jfinal_123:
getResponse().setHeader("jfinal_123", "text/plain;charset=gb2312");

然后先观测这个 jfinal_123 是否成功了,这样就定位到了错误原因

JFinal

2019-05-22 10:38

content type 的设置与 setHeader 无关,需要这么来设置:
getResponse().setContentType("text/plain;charset=gb2312");

这种用法在 com.jfinal.render 包下面有大量实例

JFinal

2019-05-22 10:35

用 Generator 生成器生成出 getter 、setter 方法就好,读与写都用 getter、setter

JFinal

2019-05-21 20:59

springboot 之下可能是要用到特定的 class loader,或许 springboot 提供了工具类来获取这个 class loader

JFinal

2019-05-21 20:58

ClassLoaderUtil.loadClass(...) 内部是怎么操作的? 这个才是解决问题的关键

感谢分享

JFinal

2019-05-21 17:29

@杜福忠 心姐的文档也有个问题: 点击比较底部的菜单后,菜单会在视线中消息,不利于继续点击其它文档