Primefaces 将数据发送到另一页
我是primefaces的新手,我做了一个数据表,并在index.xhtml中显示它。我按下时有一个按钮,它显示选择数据表(对话框),但我不知道如何将选择数据表发送到另一个页面。对不起,我在学英语,谢谢 index.xhtmlPrimefaces 将数据发送到另一页,primefaces,datatable,Primefaces,Datatable,我是primefaces的新手,我做了一个数据表,并在index.xhtml中显示它。我按下时有一个按钮,它显示选择数据表(对话框),但我不知道如何将选择数据表发送到另一个页面。对不起,我在学英语,谢谢 index.xhtml <p:dataTable id="singleDT" var="emp" value="#{empresaBean.getEmpresaList()}" selectionMode="single" scrollable="true" scrollHeig
<p:dataTable id="singleDT" var="emp" value="#{empresaBean.getEmpresaList()}" selectionMode="single"
scrollable="true" scrollHeight="400" selection="#{empresaBean.selectedEmpresa}" rowKey="#{emp.CLAVE}">
<f:facet name="header">
Lista de Empresas
</f:facet>
<p:column headerText="Id">
<h:outputText value="#{emp.CLAVE}" />
</p:column>
<p:column headerText="Nombre Empresa">
<h:outputText value="#{emp.NOMBRE}" />
</p:column>
<p:column headerText="AÑO">
<h:outputText value="#{emp.EJERCICIO}" />
</p:column>
<f:facet name="footer">
<p:button outcome="/pages/menu/menuPrincipal.xhtml" value="Seleccionar" title="Ir Menu">
</p:button>
<p:commandButton value="View" image="ui-icon ui-icon-search"
oncomplete="empresaDialog.show()"/>
</f:facet>
</p:dataTable>
<p:dialog header="Car Detail" widgetVar="empresaDialog" resizable="false"
width="200" showEffect="clip" hideEffect="fold">
<h:panelGrid id="display" columns="2" cellpadding="4">
<h:outputText value="Clave:" />
<h:outputText value="#{empresaBean.selectedEmpresa.CLAVE}" />
<h:outputText value="Año:" />
<h:outputText value="#{empresaBean.selectedEmpresa.NOMBRE}" />
<h:outputText value="Año:" />
<h:outputText value="#{empresaBean.selectedEmpresa.EJERCICIO}" />
</h:panelGrid>
</p:dialog>
</h:form>
</h:body>
埃姆普雷斯酒店
EmpresaBean
@ManagedBean(name="empresaBean")
@Scope
@Component
public class EmpresaBean {
@Autowired
private EmpresaService empresaService;
private Empresa empresa;
private Empresa selectedEmpresa;
private List<Empresa> empresasSmall;
public EmpresaService getEmpresaService() {
return empresaService;
}
public Empresa getSelectedEmpresa() {
return selectedEmpresa;
}
public void setSelectedEmpresa(Empresa selectedEmpresa) {
this.selectedEmpresa = selectedEmpresa;
}
public void setEmpresaService(EmpresaService empresaService) {
this.empresaService = empresaService;
}
public EmpresaBean(){
empresa = new Empresa();
// empresasSmall=new ArrayList<Empresa>();
// list.add(new Empresa(getEmpresaList());
}
/*
public void addEmpresa(){
empresaService.add(empresa);
empresa = new Empresa();
} */
public List<Empresa> getEmpresaList(){
return empresaService.getAll();
}
public Empresa getEmpresa() {
return empresa;
}
public void setEmpresa(Empresa empresa) {
this.empresa = empresa;
}
}
@ManagedBean(name=“empresaBean”)
@范围
@组成部分
公共类EmpresaBean{
@自动连线
私人经营服务;
私营企业;
私营企业选择经营;
私人上市商场;
公共EmpresaService getEmpresaService(){
退货服务;
}
公共Empresa getSelectedEmpresa(){
返回所选的mpresa;
}
公共作废设置已选副本(已选副本){
this.selectedEmpresa=selectedEmpresa;
}
公共无效设置EmpresaService(EmpresaService EmpresaService){
this.empresaService=empresaService;
}
公营菜豆(){
empresa=新empresa();
//empresasSmall=newarraylist();
//添加(新的Empresa(getEmpresaList());
}
/*
公共无效附录A(){
empresaService.add(empresa);
empresa=新empresa();
} */
公共列表getEmpresaList(){
返回empresaService.getAll();
}
公共企业{
返回empresa;
}
公共无效设置Empresa(Empresa Empresa){
this.empresa=empresa;
}
}
您不能将html发送到另一个页面(对话框)。您应该只推送将在另一个页面上使用的数据。
要从datatable(被认为是列表)推送数据,您应该使用@ManagedProperty注释
假设您有索引页:
@ManagedBean(name="index")
@SessionScoped
public class IndexPage implements Serializable {
private List<String> values;
//getter and setter
}
}好的,我理解你的意思,但我如何知道我是选择了一行还是另一行?用你的案例的解决方案更新答案。试试看吧,现在可以了,但我有其他错误,我写了其他问题。:)
@ManagedBean(name="nextPage")
@SessionScoped
public class AnotherPage implements Serializable {
@ManagedProperty(value="#{index.values}")
private List<String> forwardedList; //list with values form index page
//getter and setter
}
@ManagedBean(name="nextPage")
@SessionScoped
public class AnotherPage implements Serializable {
@ManagedProperty(value="{empresaBean.selectedEmpresa}")
private Empresa selectedValue; //value from selected row in your table
//getter and setter