MyBean1.java:
package mypackage;
import javax.faces.context.FacesContext;
public class MyBean1
{
// Using VariableResolver. NOTE: this is deprecated since JSF 1.2!
public void action1()
{
FacesContext context = FacesContext.getCurrentInstance();
MyBean2 myBean2 = (MyBean2) context.getApplication().getVariableResolver().resolveVariable(context, "myBean2");
myBean2.getText().setValue("action1");
}
// Using ValueBinding. NOTE: this is deprecated since JSF 1.2!
public void action2()
{
FacesContext context = FacesContext.getCurrentInstance();
MyBean2 myBean2 = (MyBean2) context.getApplication().createValueBinding("#{myBean2}").getValue(context);
myBean2.getText().setValue("action2");
}
// Using ELResolver. NOTE: this is implemented since JSF 1.2!
public void action3()
{
FacesContext context = FacesContext.getCurrentInstance();
MyBean2 myBean2 = (MyBean2) context.getELContext().getELResolver().getValue(context.getELContext(), null, "myBean2");
myBean2.getText().setValue("action3");
}
// Using ValueExpression. NOTE: this is implemented since JSF 1.2!
public void action4()
{
FacesContext context = FacesContext.getCurrentInstance();
MyBean2 myBean2 = (MyBean2) context.getApplication().getExpressionFactory().createValueExpression(context.getELContext(), "#{myBean2}", MyBean2.class).getValue(context.getELContext());
myBean2.getText().setValue("action4");
}
// Using RequestMap. NOTE: myBean2 should be request scoped!
public void action5()
{
Object object = FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("myBean2");
// This only works if myBean2 is request scoped.
if (object != null)
{
MyBean2 myBean2 = (MyBean2) object;
myBean2.getText().setValue("action5");
}
}
// Using SessionMap. NOTE: myBean2 should be session scoped!
public void action6()
...{
Object object = FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("myBean2");
// This only works if myBean2 is session scoped.
if (object != null)
{
MyBean2 myBean2 = (MyBean2) object;
myBean2.getText().setValue("action6");
}
}
}
MyBean2.java:
package mypackage;
import javax.faces.component.html.HtmlOutputText;
public class MyBean2
{
private HtmlOutputText text;
public HtmlOutputText getText()
{
return text;
}
public void setText(HtmlOutputText text)
{
this.text = text;
}
}