Java PrimeFaces和复合组件的问题
我有一段类似于“数据表-即时行选择”的代码。但是,当我将其分解为复合组件时,不会显示选择值。我怀疑这是由PrimeFaces代码引起的 下面是不起作用的代码:Java PrimeFaces和复合组件的问题,java,jsf-2,primefaces,composite-component,Java,Jsf 2,Primefaces,Composite Component,我有一段类似于“数据表-即时行选择”的代码。但是,当我将其分解为复合组件时,不会显示选择值。我怀疑这是由PrimeFaces代码引起的 下面是不起作用的代码: viewApplicationConfig.xhtml #{viewApplicationConfig.pageTitle} ------应用程序筛选标准面板---------- ------End ApplicationFilterCriteria面板---------- ------应用程序控制面板---------- ------
viewApplicationConfig.xhtml
#{viewApplicationConfig.pageTitle}
------应用程序筛选标准面板----------
------End ApplicationFilterCriteria面板----------
------应用程序控制面板----------
------DTI网格----------
------终端DTI网格----------
------端应用程序控制面板----------
------调试代码--------------
应用程序--大小:#{viewApplicationConfig.Applications.Size()}
------结束调试代码----------
dtiPanel.xhtml
dtiLayer.xhtml
dtiGrid.xhtml
应用程序--大小:#{cc.attrs.dataBean.Applications.Size()}
字段Id:#{column.fieldId}
数据类型:#{column.datatype}
显示类型:#{column.displayType}
只读:#{column.isReadOnly}
可见:#{column.isVisible}
HREF:#{column.HREF}
/
dtiField.xhtml
/
#{cc.attrs.field.label}
package com.dti.admin.cwb.appconfigmgr.view;
import com.dti.admin.view.BaseAdminManagedBean;
import com.dti.view.ManagedBeanUtils;
import dti.admin.cwb.appconfigmgr.AppConfigManager;
import dti.oasis.recordset.Record;
import dti.oasis.recordset.RecordSet;
import org.primefaces.event.SelectEvent;
import org.primefaces.event.UnselectEvent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.servlet.http.HttpServletRequest;
import java.io.Serializable;
import java.util.List;
@Component("viewApplicationConfig")
@Scope("request")
public class ViewApplicationConfig extends BaseAdminManagedBean implements Serializable {
private AppConfigManager appConfigManager;
private String contextApplicationId;
private List<Record> applications;
private RecordSet applicationRecordSet;
//////
private Record selectedRecord;
public Record getSelectedRecord() {
System.out.println(new java.sql.Timestamp(System.currentTimeMillis()) + " -- "
+ this.getClass().getName() + " -- getSelectedRecord --");
if(selectedRecord!=null){
System.out.println(new java.sql.Timestamp(System.currentTimeMillis()) + " -- "
+ this.getClass().getName() + " -- getSelectedRecord -- getRecordNumber: "+
selectedRecord.getRecordNumber());
}
return selectedRecord;
}
public void setSelectedRecord(Record selectedRecord) {
this.selectedRecord = selectedRecord;
}
//////
public void onRowSelect(SelectEvent event) {
System.out.println("onRowSelect");
FacesMessage msg = new FacesMessage("Entity Selected",
(String)((Record) event.getObject()).getFieldValue("baseShortDescription"));
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public void onRowUnselect(UnselectEvent event) {
System.out.println("onRowUnselect");
FacesMessage msg = new FacesMessage("Entity Unselected",
(String)((Record) event.getObject()).getFieldValue("baseShortDescription"));
FacesContext.getCurrentInstance().addMessage(null, msg);
}
///////////////////
public ViewApplicationConfig() {
System.out.println(new java.sql.Timestamp(System.currentTimeMillis()) + " -- "
+ this.getClass().getName() + " -- " + "ViewApplicationConfig()");
}
@Autowired()
public ViewApplicationConfig(AppConfigManager appConfigManager) {
System.out.println(new java.sql.Timestamp(System.currentTimeMillis()) + " -- "
+ this.getClass().getName() + " -- "
+ "ViewApplicationConfig(AppConfigManager appConfigManager)");
this.appConfigManager = appConfigManager;
this.setPageId("MaintainApplicationConfig");
this.setAnchorColumnName("applicationId");
}
@PostConstruct
public void onLoad() throws Exception {
System.out.println(new java.sql.Timestamp(System.currentTimeMillis()) + " -- "
+ this.getClass().getName() + " -- " + "onLoad()");
HttpServletRequest request = ManagedBeanUtils.getHttpServletRequest();
init(request);
//Grid Header
setXmlHeader(getGridHeader(request));
//From Action Class
Record inputRecord = getInputRecord(request);
//From prime-movicollector -- sort of
if(applicationRecordSet == null) {
applicationRecordSet = appConfigManager.loadAllWebApplications(inputRecord);
applications = ManagedBeanUtils.convertRecordSetToList(applicationRecordSet);
}
//
System.out.println(new java.sql.Timestamp(System.currentTimeMillis()) + " -- "
+ this.getClass().getName() + " -- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX " + applications.size());
}
@PreDestroy
public void onUnload() {
System.out.println(new java.sql.Timestamp(System.currentTimeMillis()) + " -- "
+ this.getClass().getName() + " -- " + "onUnload()");
terminate();
}
public void navigateToPageConfig(ActionEvent actionEvent) {
System.out.println("navigateToPageConfig("+contextApplicationId+")");
String pageUrl = "/pageconfigmgr/maintainPageConfig.do?contextApplicationId=" + contextApplicationId;
navigateToPage(pageUrl);
}
public AppConfigManager getAppConfigManager() {
return appConfigManager;
}
public void setAppConfigManager(AppConfigManager appConfigManager) {
this.appConfigManager = appConfigManager;
}
public List<Record> getApplications() {
System.out.println(new java.sql.Timestamp(System.currentTimeMillis()) + " -- "
+ this.getClass().getName() + " -- " + "getApplications()");
return applications;
}
public void setApplications(List <Record> applications) {
System.out.println(new java.sql.Timestamp(System.currentTimeMillis()) + " -- "
+ this.getClass().getName() + " -- " + "setApplications(RecordSet applications)");
this.applications = applications;
}
public RecordSet getApplicationRecordSet() {
return applicationRecordSet;
}
public void setApplicationRecordSet(RecordSet applicationRecordSet) {
this.applicationRecordSet = applicationRecordSet;
}
public String getContextApplicationId() {
return contextApplicationId;
}
public void setContextApplicationId(String contextApplicationId) {
this.contextApplicationId = contextApplicationId;
}
}