0
接取吉斯会话范围在jsp中我是新来吉斯DI框架 在Spring中,我们可以使用EL如何使用EL
sessionScope['scopedTarget.sessionService'].loggedUser
访问会话范围变量,但我怎么能做到这一点的吉斯?
接取吉斯会话范围在jsp中我是新来吉斯DI框架 在Spring中,我们可以使用EL如何使用EL
sessionScope['scopedTarget.sessionService'].loggedUser
访问会话范围变量,但我怎么能做到这一点的吉斯?
如果您选择使用Guice's Servlet extension,您应该能够自动绑定HttpSession或提供者<HttpSession>。
在你的类,你会把这样的事情:
private final MyDependency dependency;
private final Provider<HttpSession> sessionProvider;
@Inject
public MyClass(MyDependency dependency, Provider<HttpSession> sessionProvider) {
this.dependency = dependency;
this.sessionProvider = sessionProvider;
}
void callMyService() {
HttpSession session = sessionProvider.get();
String myValue = (String) session.get("value");
// ...
}
提供商是内置的界面,让你从注入新鲜的实例。如果Foo级别被绑定,您可以始终注入Provider <Foo>,无需任何额外的工作。在这里,注入提供者是个好主意,因为你写的类可能比任何给定的会话活得更长。