我有点陷入困境。我已成功将参数从一个xhtml
页面发送到另一个xhtml
页面,然后我在我的下一页parameter
上打印了xhtml
,#{param['id']}
,但是问题是我的@postConstructor
没有执行,因为我希望每当我的下一页加载parameter id
发送到database
并在我的datatable
中获取所需的详细信息时。
这是我发送xhtml
的{{1}}页面的代码片段
parameters
这是我的<h:column>
<f:facet name="header">
Title
</f:facet>
<h:link value="#{item.title}" outcome="showObj.xhtml">
<f:param name="pid" value="#{item.id}" />
</h:link>
</h:column>
managedBean
这是我的下一页package mb;
import java.io.Serializable;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
@ManagedBean(name="next")
@RequestScoped
public class showObj implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@ManagedProperty(value="#{param.pid}")
private String name;
public String getName() {
System.out.println("in getter"+name);
return name;
}
public void setName(String name) {
this.name = name;
}
@PostConstruct // this will execute init() after id is injected
public void init() {
System.out.println("in init");
}
}
页面内容,我收到了xhtml
。
parameters
现在我希望每当我在此处收到此<h:outputText value="#{param['pid']}"></h:outputText>
时,在页面加载时,此parameter
应发送到parameter
(另一个database
项目)。我知道如果我的ejb
跑得比我能做到的那样。但我的@postConstructor
没有执行。
我也通过互联网搜索了我的问题,他们都说了@postConstructor
版本的内容,所以我告诉你我有mojarra
版本