我想开发一个 Web 应用程序,并且我可以访问此 API。在 API 中,有一些方法允许您通过上下文对象获取当前用户的 userId。也许我想得太多了,但我很困惑应该把 CurrentUserId() 方法放在哪里。该方法是否存在于 Controller 或模型中?我以为它会出现在模型中,但编写一个名为“getUserId”的属性来返回一个名为 getUserId().toString() 的字符串似乎是多余的。这是正常现象还是我想太多了还是正确的?我的同事告诉我将逻辑放入 View 中,但从我读过的所有内容来看,你从未将 java 代码或 scriplet 放入 View 中。我希望这是有道理的。
这也是我编写的一个以字符串形式返回 userId 的方法
protected String CurrentUserId(HttpServletRequest request)
{
ContextManager ctxMgr = ContextManagerFactory.getInstance();
Context ctx = ctxMgr.setContext(HttpServletRequest request);
Id userID = ctx.getUserId();
return userID.toString();
}
最佳答案
它应该转到 Controller 。
创建一个实用程序类,将此方法设置为静态
因为这里的 HttpServletRequest
是这个模型特定的(jsp,servlet),假设明天如果你想将相同的模型应用到你的桌面应用程序,那么它会失败,所以更好的地方是 Controller 。
关于java - JSP MVC 模型 2 架构问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5275706/