【问题标题】:CDI @ConversationScoped and JSPCDI @ConversationScoped 和 JSP
【发布时间】:2013-04-18 22:39:24
【问题描述】:

执行 POST 然后重定向是 Web 应用程序中非常常见的场景。 CDI @ConversationScoped 与 JSF 配合得很好,可以保留 POST 和重定向之间的状态。

但是,我可以将 CDI @ConversationScoped 与 JSP 一起使用吗?

如果不是,JSP 的替代解决方案是什么?

请注意:

(1) 我不想使用 HTTPSession 来保存状态,原因很明显。

(2) 我不想为此目的将我的敏感数据(例如密码)保存在客户端(在 Cookie 或 URL 中)。

【问题讨论】:

  • 你为什么要在 JSP 上下文中专门问这个问题?您知道直接在 JSP 中编写 Java 代码是一种非常糟糕的做法吗?您不是真的要在 Servlets 中使用 CDI 吗?
  • 我的意图是拥有一个 \@Named \@ConversationScoped bean,并在 JSP 页面中使用 EL 来引用 bean 属性,例如 ${myBean.email}
  • 您似乎从未听说过 servlet 并且错误地盲目地将 JSP 视为执行业务逻辑的地方。请从我们的 servlets wiki 页面开始:stackoverflow.com/tags/servlets/info 您可以按照通常的方式在 servlets 中轻松使用 @Inject
  • 其实我只使用JSP来获取用户输入,下面是实际场景:我有两个页面表单。用户填完第一页后,在用户在第二页的时候,我需要一个地方来保存第一页的数据,就是这样。我可以把它放在会话中,但我不想这样做。

标签: jsp jakarta-ee redirect cdi


【解决方案1】:

CDI 1.0 中的对话范围与 JSF 紧密相关,它在 CDI 1.0 中的 JSP 中不起作用,但在作为 Java EE 7 一部分的 CDI 1.1 中应该可以正常工作。

【讨论】:

  • 好消息!这是 JSP 中缺少的部分,在 JSF 中可用。
猜你喜欢
  • 2011-12-24
  • 2013-03-03
  • 1970-01-01
  • 1970-01-01
  • 2013-03-01
  • 1970-01-01
  • 2013-09-05
  • 2011-07-12
  • 2011-11-15
相关资源
最近更新 更多