JSP MVC 模型 2 架构问题

发布于 2024-10-21 15:17:42 字数 615 浏览 2 评论 0原文

我想开发一个 Web 应用程序,并且我可以访问此 API。在 API 中,有一些方法允许您通过上下文对象获取当前用户的 userId。也许我想得太多了,但我很困惑应该把 CurrentUserId() 方法放在哪里。该方法是否存在于控制器或模型中?我以为它会出现在模型中,但编写一个名为“getUserId”的属性来返回一个名为 getUserId().toString() 的字符串似乎是多余的。这是正常现象还是我想太多了还是正确的?我的同事告诉我将逻辑放入视图中,但从我读过的所有内容来看,你从未将 java 代码或 scriplet 放入视图中。我希望这是有道理的。

这也是我编写的一个方法,用于将 userId 作为字符串返回

protected String CurrentUserId(HttpServletRequest request)
{
    ContextManager ctxMgr = ContextManagerFactory.getInstance();
    Context ctx = ctxMgr.setContext(HttpServletRequest request);

    Id userID = ctx.getUserId();
    return userID.toString();
}

I want to develop a web application and I have access this API. In the API there are methods that allow you to get the userId of the current user via context objects. Maybe I'm overthinking this, but I'm very confused as to where to put my CurrentUserId() method. Does that method go in the controller or the model? I was thinking it goes in the model, but it seems redundant to write a property called "getUserId" to return a string called getUserId().toString(). Is this normal and I'm overthinking or am I correct? My co-worker told me to put the logic in the view, but from everything I've read you never put java code or scriplets in the view. I hope this makes sense.

Also here's a method I wrote to return the userId as a string

protected String CurrentUserId(HttpServletRequest request)
{
    ContextManager ctxMgr = ContextManagerFactory.getInstance();
    Context ctx = ctxMgr.setContext(HttpServletRequest request);

    Id userID = ctx.getUserId();
    return userID.toString();
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

说谎友 2024-10-28 15:17:42

它应该转到控制器

创建一个将此方法设置为 static 的实用程序类,

因为这里 HttpServletRequest 是此模型特定的(jsp、servlet),假设明天您想将相同的模型应用于桌面应用程序那么它就会失败,所以更好的地方是控制器。

It should go to Controller.

Create a utility class having this method as static

Because here HttpServletRequest is this model specific(jsp,servlet) , suppose tomorrow if you want to apply the same model to your desktop application then it would fail so better place is controller.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文