我想注入CDI SessionScoped bean到JSP页面。
import javax.enterprise.context.SessionScoped;
import java.io.Serializable;
@SessionScoped
public class UserSessionBean implements Serializable {
private String email = "email";
public UserSessionBean(){}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
当我以这种方式使用bean时,它工作得很好,我在JSP页面上看到了初始值。
<jsp:useBean id="userSessionBean" class="package.UserSessionBean"/>
<jsp:getProperty name="userSessionBean" property="email"/>
当我将同一个bean注入到一个服务中时就会出现问题,我从API中的另一个servlet调用该服务。在这种情况下,我不会在JSP页面上获得更新的值。看起来我使用@Inject
注释在JSP页面和服务内部得到了不同的bean
有人能告诉我们如何在JSP和从servlet访问的服务层中使用相同的SessionScoped bean吗?
摆脱
CDI方法是简单地将
@Named
注释放在bean类上,以EL命名。
@Named
@SessionScoped
public class UserSessionBean implements Serializable {}
该名称默认为无头类名称。因此,通过
${userSessionBean}
,上述CDI管理的bean将在EL中可用。这也适用于普通JSP页面。
<p>Email: <c:out value="${userSessionBean.email}" /></p>
这就是全部。您可以在服务或servlet中继续使用
@Inject
,以获得相同的实例。请注意JSTL
<p>Email: ${userSessionBean.email}</p>
但是JSP作为一个相当侏罗纪的视图技术并没有像Facelets那样内置XSS预防。<代码>
最后但并非最不重要的一点是,确保您的学习资源与当前可用的版本同步。那些
我编写了一个会话范围的托管bean,用于在domino xpages应用程序中缓存sesion用户特定的信息,如下代码所示: 然后,我在faces配置中声明了它,使其成为会话范围的bean: 在测试bean时,我通过#{NBUser.fullUserName}使用它,它并不总是返回当前domino http会话上下文的用户,例如,我首先由用户“user1”登录并注销,然后由user2登录,bean
我已经对Spring bean使用的注释进行了注释。我通过spring DI成功地创建了相同的bean,并设置了对象注入的范围。现在,我想用Struts2和di做同样的事情。为此,我在中创建了bean定义 和简单的操作来创建bean并将其注入到我的操作中 在JSP中,我在会话bean上使用简单的迭代器 null
我们知道Spring框架提供了单例、原型、请求、会话、全局会话bean范围。 我们还知道Spring Web流提供了flow Scope、viewScope、Request estScope、flash Scope、versationScope。 因此,如果我在spring MVC项目中提到一个组件,比如说Student,作为@Component@Scope=singleton。对于每个请求,它会
HttpSession 对象必须被限定在应用(或 servlet 上下文)级别。底层的机制,如使用 cookie 建立会话,不同的上下文可以是相同,但所引用的对象,包括该对象中的属性,决不能在容器上下文之间共享。 用一个例子来说明该要求: 如果 servlet 使用 RequestDispatcher 来调用另一个 Web 应用的 servlet,任何创建的会话和被调用 servlet 所见的必须
问题内容: 我需要从servlet访问会话范围的bean。我已经试过了 在本作描述的职位。但是我只能得到null的结果,尽管UserBean的一个实例已经被无效化了。这些是我用于userBean的注释/导入: 为什么不能摆脱servlet的一些背景知识:我的jsf页面中有一个文件上传小程序。该applet期望可以发送POST请求的地址。(我无法编辑此发帖请求以添加更多字段或其他内容)。然后,我的s
我有一个使用servlet会话属性显示div的问题 我有一个“result.jsp”页面。在jsp中,我有一个“生成URL”链接、一个空的输入文本字段和一个“addThis”div。链接“生成URL”调用jquery ajax方法“utilComp()”,它调用一个设置会话属性“saveLink”、返回一个值并填充空文本字段的servlet。 如果属性会话“saveLink”为空(因为尚未单击生成