2016-10-11 21:25
@cnzzr 可以将这部分代码追加到贴子中,追加部分的前面说明一下是解决后的追加代码,因为回复功能不支持语法高亮显示,追加完后,可以再评论 @ 一下有需要的人就可以了,感谢支持
2016-10-11 21:13
自定义一个满足自己要求的白名单即可,以下是 jfinal 社区的代码,在 Jsoup 原有的 Whitelist.relaxed() 白名单基础上添加了一些额外的白名单,注意对于 a 的 href 很有用,否则会过滤掉 a 标签的 target属性:
static final Whitelist myWhiteList = createContentWhitelist();
Whitelist createContentWhitelist() {
return Whitelist.relaxed()
.removeProtocols("a", "href", "ftp", "http", "https", "mailto")
.removeProtocols("img", "src", "http", "https")
// 官方默认会将 target 给过滤掉
.addAttributes("a", "href", "title", "target")
// 在 Whitelist.relaxed() 之外添加额外的白名单规则
.addTags("div", "span", "embed", "object", "param")
.addAttributes(":all", "style", "class", "id", "name")
.addAttributes("object", "width", "height", "classid", "codebase")
.addAttributes("param", "name", "value")
.addAttributes("embed", "src", "quality", "width", "height", "allowFullScreen", "allowScriptAccess", "flashvars", "name", "type", "pluginspage");
}
然后用的时候这样:Jsoup.clean(content, myWhiteList );
2016-10-11 20:58
在保存之前,用 Jsoup 这个工具,过滤掉一些不需要的内容,非常容易,一行代码的事,大致如下:
1:Jsoup.clean(content, Whitelist.relaxed()),过滤得比较 relaxed 宽松,li、h1、p、img 等等会被保留
2:Jsoup.clean(content, Whitelist.basicWithImages()),只保留基本的标记与图片标记
其它方法自己摸索一下,写个工具类,创建几个固定的过滤方法,例如 JsoupKit.filterContent(...)、JsoupKit.filterTitle(...) 基本就可以了
2016-10-11 18:00
web.xml 中还是正常按 jfinal 的配置,配置上 JFinalFilter,然后再创建一个可访问到的 Controller,假定访问到这个 Controller.index() 方法的路由是 "/"
接下来做一个 MyHandler,将所有请求转发给前面的 Controller.index();
class MyHandler extends Handler {
public void handle(target, req, res, isHandled) {
// 先将 target 存起来,可在 controller 中通过getAttr("target")得到
req.setAttribute("target", target);
// 直接转发到 Controller.index();
next.handle("/", req, res, isHandled);
}
}
2016-10-11 16:01
@innerac 看具体场景,例如,你要用的这个功能本身就需要先启动一个服务,打开了监听端口之类这样才能工作,那就是要开启服务,如果只是使用 spring 的一些常规 API就不需要开服务,例如 factory.getBean(name) 这种从 spring 中获取 bean 是不需要开启服务的
2016-10-11 13:04
@xRhbN 手册才 30 多页,而且大部分是代码示例,极其少量的文字,一个小时内能看完,所以一定要仔细看完,节省很多时间,很划算
Db.tx(...) 更好控制,return false 的时候可以控制回滚
2016-10-11 12:13
@xRhbN 我习惯于在业务层用 Db.tx(...) 来做事务,对动态语言熟悉的开发者会喜欢这种用法
2016-10-11 10:17
@FS心情 本来已经上了的,最近有个比较好的创新在做,根本停不下来,所以这个新开页面优先级调了一下
灵感和创新是很微妙的,稍纵即逝,所以来的时候,一定要先抓住