Java 在xhtml中创建和访问对象(基本面)
如何访问jsf页面上创建的对象?我不想让对象成为这个bean的属性。下面是我尝试使用的示例代码Java 在xhtml中创建和访问对象(基本面),java,jsf,jsf-2,primefaces,javabeans,Java,Jsf,Jsf 2,Primefaces,Javabeans,如何访问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(nam
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
上的服务器
对象。
下面是xhtml页面的代码
<h2>Id : #{server.id}</h2>
<h2>Name : #{server.name}</h2>
Id:#{server.Id}
名称:#{server.Name}
JSF需要在后台bean中使用适当的getter/setter方法,我在代码中没有看到用于server
的方法。签出这是通过将所需对象放入隐式EL对象之一来实现的,例如会话范围
:
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");
}
如果我为服务器创建geter setter,我需要使服务器成为
IntroBean
的属性,但是server
是一个单独的bean,它有自己的setter/getter。正确阅读问题。这有帮助,但没有其他方法可以将此视图上所做的更改反映到同一对象中。您的问题不清楚。您既没有定义bean的名称,也没有定义其作用域。这个问题真的很模糊。
<h2>Id : #{sessionScope['serverObject'].id}</h2>
<h2>Name : #{sessionScope['serverObject'].name}</h2>
Change the name of the server :
<h:inputText value="#{sessionScope['serverObject'].name}">
public String doSave(){
Server server2 = (Server)sessionMap.get("serverObject");
...
}