首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpSession存储网址

HttpSession存储网址
EN

Stack Overflow用户
提问于 2017-10-20 22:36:57
回答 1查看 190关注 0票数 0

我想知道在HttpSession中保留一个"URL“属性以跟踪用户访问的上一页是否是一种不良做法。我想知道上一个URL,这样我就可以根据上一页有条件地执行不同的任务。

一个例子是一个控制器类,它根据用户访问此页面的方式改变网页的颜色。如果用户按下来自"example.com/ blue“的按钮,它应该重定向到当前页面并将其变为蓝色。(如果从“example.com/粉红色”,它应该使页面粉红色,等等)。这是从

代码语言:javascript
复制
Url url = httpSession.getAttribute(url);
if (url.equals(blue)) {
    // make page blue
}
if (url.equals(pink)) {
    // make page pink
}

希望这是有意义的。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-21 07:31:17

是的,这是个糟糕的做法。这将很难维持。你怎么写单元测试?

这个问题中的标记意味着您使用的是MVC框架,但是您的解决方案看起来像是对MVC模式的误解。

Urls属于“控制器”,页面样式为“视图”,用户的历史为“模型”。如果您需要将一些信息存储在HttpSession中,请使其与协议无关。我会考虑储存某种枚举。或者,按钮可以将颜色作为请求参数传递。

还有一些用户,他们将在两个选项卡中打开您的页面。

尝试以这样一种方式实现您的应用程序:当您决定重新组织页面结构时,您也不必重新组织HttpSession。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46858239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档