[英]creating and accessing an object in xhtml (prime faces)
如何在jsf页面上访问创建的对象? 我不想将对象作为此bean的属性。 以下是我尝试使用的示例代码
import org.Server;
@ManagedBean
public class IntroBean {
private int id;
private String name;
public String doSend() {
Server server = new Server();
server.setId(id);
server.setName(name);
return("send-page");
}
现在我想访问send-page.xhtml
上的server
对象。 这是xhtml页面的代码
<h2>Id : #{server.id}</h2>
<h2>Name : #{server.name}</h2>
JSF在备用bean中需要适当的getter / setter方法,但在您的代码中看不到用于server
的方法。 查看http://www.mkyong.com/jsf2/primefaces/primefaces-hello-world-example/
这是通过将所需对象放入隐式EL对象之一(例如sessionScope
:
private Map<String,Object> sessionMap = FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
...
public String doSend(){
Server server = new Server();
server.setId(id);
server.setName(name);
sessionMap.put("serverObject", server);
return("send-page");
}
然后,通过以下方式在视图中获取它:
<h2>Id : #{sessionScope['serverObject'].id}</h2>
<h2>Name : #{sessionScope['serverObject'].name}</h2>
根据新要求,可以通过在输入组件中使用隐式EL对象来完成此操作:
Change the name of the server :
<h:inputText value="#{sessionScope['serverObject'].name}">
最后,通过以下方法在支持bean中检索所需的对象:
public String doSave(){
Server server2 = (Server)sessionMap.get("serverObject");
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.