我设法创建了一个在JSF页面之间发送Object的非常简单的例子:
第一页:
@Named
@ViewScoped
public class Pricing
{
public Pricing()
{
int ww = 3;
PricingFormData obj = new PricingFormData(334, "Lalalala");
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("yourKey", obj);
}
第二页:
@Named
@ViewScoped
public class PricingCalculator implements Serializable
{
PricingFormData get;
public PricingCalculator()
{
get = (PricingFormData) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("yourKey");
}
}
自定义对象:
public class PricingFormData
{
private int id;
private String name;
public PricingFormData(int id, String name)
{
this.id = id;
this.name = name;
}
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}
此代码有效,但我想问几个问题:
代码在View范围内工作。如果多个用户点击页面会发生什么?这些物体会混合在一起吗?我是否需要为Object键使用一些唯一ID作为示例会话ID。但在这里我没有会议。
如果对象太多(多个用户在网站上工作)会发生什么?当物品被处理?