2018-01-06 16:49

1 首先查看后台的 resultList 是否有数据。
2 页面直接输出 ${itemList} 看看效果
3 还在用 JSP ? 赶快换enjoy 吧!

JFinal使用技巧-在JSP中使用Enjoy

2018-01-05 23:47

把NGINX的配置贴出来看看,有
proxy_set_header Host $host;
proxy_set_header x-forwarded-for $remote_addr;
吗?
看看kit工具里面写的:
/**
* IpKit 获取 ip 地址的工具类
*/
public class IpKit {

public static String getRealIp(HttpServletRequest request) {
String ip = request.getHeader("X-Real-IP");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("x-forwarded-for");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
所以NGINX得带着传过来的才有的

2018-01-05 10:02

@小松 最粗暴的方法:在其他编辑打开(正常的), 然后复制,再粘贴到你的IDEA中打开相应文件,把乱码的覆盖掉。。。

2018-01-05 09:23

@张佳坤 不如把代码贴下,看是咋写的, 这个错误看不出来是什么梗导致的

2018-01-05 09:20

@小松 这些代码生成的原理都是渲染文本,然后保存文本的时候,文件名为.java了而已, 所以你那个“不能生成”应该是生成到其他的位置去了, 你可以试试把生成的地址先写死,指定到某个文件夹下面,再看看。 因为如果是其他的错误如文件夹权限等, 那你的代码生成时早都报错了

2018-01-04 21:52

中文目录 ?

2018-01-04 21:51

试试serialize()这个函数,爽的一匹
$.post("/schedu/findTaskByCustom", $("form").serialize() ,
function(data){
alert("Data Loaded: " + data);
});

2018-01-04 19:14

@小松 首先确认编辑器(eclipse)的文本文件编码格式是UTF-8,
微信截图_20180104191000.png
其次确认项目的编码:
微信截图_20180104191202.png
最后确认Tomcat的编码:URIEncoding="UTF-8"
修改tomcat服务器下的conf文件夹下的service.xml文件。
需要修改的地方1:
URIEncoding="UTF-8" port="8009" protocol="AJP/1.3" redirectPort="8443"/>
需要修改的地方2:URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

2017-12-28 22:22

自动:定时器
建表:SQL
新增表操作:Db + Record

定时每年执行建表SQL使用Record装载Db操作,
当然肯定还有其他中间件可以用, 但是我没有用过就不说了

2017-12-28 19:53

20171228194223.png

2017-12-28 19:38

你 #set(myStr = ","+str??+",")
?? 是空合并安全 取值 调用 操作符,
从左到右 执行》先执行 ","+str 》然后空合并安全取值》发现不是空就不输出后面的了。

你是想要 这样的吧?:
#set(myStr = ","+str+",") 》》 ,a,b,c,

2017-12-26 15:20

@fmpoffice 这四个组合拳, 可用于你任何业务。
根据业务选择最佳的搭配方式

2017-12-26 15:17

@fmpoffice
总结一下几个常用的:
model.remove("attrs1","attrs2");// 删除 多个键, 适用与删除少量不要的值。底层使用的是 map的remove

model.keep("attrs1","attrs2");// 保留需要的键, 适用与删除大量不要的值。底层使用的是 新建一个map拷贝值

model.put(model);//拷贝,不能写入数据库,可拷贝所有的键值。 底层使用的是 map的putAll

model._setAttrs(model);//拷贝,能写入数据库,只能拷贝数据库的键值(如果有其他字段,会抛出ActiveRecordException)。底层使用的是for (Entry e : attrs.entrySet()) set(e.getKey(), e.getValue());

2017-12-22 13:45

你是想这样 ?
@Override
public void handle(String target, HttpServletRequest request, HttpServletResponse response, boolean[] isHandled) {
if ( target.indexOf('.') != -1 && target.contains("/files/") ) {
RenderManager.me().getRenderFactory().getFileRender(new File(target));
return;
}
next.handle(target, request, response, isHandled);