繁体   English   中英

在xhtml中创建和访问对象(素面)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM