首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
前台有两套相似的页面,后台是处理数据的,问后台如何控制前台访问的页面
luluxiu00
2016-11-08 18:50
看标题,即后台可以随意切换,这时用户看到的页面就会换成另外一套。
如何实现,说说思路,,谢谢
项目:
JFinal
2
2
评论区
JFinal
2016-11-08 20:10
将两套界面分别放在不同的目录下,然后页面中的资源路径用一个主题目录变量用于所有的资源路径,最后再用一个 handler 根据 cookie 中的值,或者登录用户的配置进行切换即可,具体办法大致如下:
1:在 webapp 下分别创建 red、blue 这两个主题目录
2:将两套页面分别放在 red、blue 之下
3:两套页面所有资源用一个变量使用动态资源路径,或者使用相对于本资源的相对路径,如 <img src="${THEME}/img/abc.jpg">,如果资源方便用相对路径可以这样:<src="../img/abc.jpg" >
4:写个 ThemeHandler 动态设置变量值
if ("red".equals(getCookie("THEME")) {
// 这个 "/red" 是一个路径,会在页面被正确得到
request.setAttribute("THEME", "/red");
}
next.handle(target, request, response, isHandled);
回复
luluxiu00
2016-11-09 11:01
@JFinal
谢谢,帮助很大
回复
luluxiu00
2016-11-09 13:54
@JFinal
突然又发现一个问题,别人访问你的主页时,就无法从cookie中获取值了
回复
xumin
2016-11-09 16:37
@luluxiu00
你可以存表里
回复
luluxiu00
2016-11-09 16:41
@xumin
这是我一开始想到的,但每次请求都从数据库中查找判断。感觉不太好,所以才询问有没有更好的办法
回复
杜福忠
2016-11-10 09:18
@luluxiu00
从数据库中查找出结果后 缓存起来,下次请求从 缓存中取
回复
luluxiu00
2016-11-10 09:49
@杜福忠
对哦,还有缓存机制了,这样就不用经常查询数据库了
回复
JFinal
2016-11-10 10:34
@杜福忠
非常感谢你对社区的支持,上个月就发现捐助人名里面你的名字非常眼熟,刚看了一下一共有 6 次捐助,如果所有 jfinal 用户都这样支持,那社区发展就会更加迅猛了
回复
杜福忠
2016-11-10 17:43
@JFinal
毕业后工作中用了 JFinal 感觉非常棒,您从开源这个到现在都非常活跃,对提问者都是秒答! 所以我决定每次用JFinal挣到的工资都来贡献支持一下
回复
JFinal
2016-11-10 18:27
@杜福忠
回报之心非常之难得,再次感谢你的支持,jfinal 将越来越好用,为你节约更多宝贵时间,jfinal 2.3 下个月放出来,确保四连冠
回复
发送
我要分享
热门分享
扫码入社
1:在 webapp 下分别创建 red、blue 这两个主题目录
2:将两套页面分别放在 red、blue 之下
3:两套页面所有资源用一个变量使用动态资源路径,或者使用相对于本资源的相对路径,如 <img src="${THEME}/img/abc.jpg">,如果资源方便用相对路径可以这样:<src="../img/abc.jpg" >
4:写个 ThemeHandler 动态设置变量值
if ("red".equals(getCookie("THEME")) {
// 这个 "/red" 是一个路径,会在页面被正确得到
request.setAttribute("THEME", "/red");
}
next.handle(target, request, response, isHandled);