“属性nam”e无法解析为“对象”的成员

时间:2012-10-03 09:08:41

标签: java jsf

我在这个问题上遇到了一个包含受保护属性的类:

测试类:

abstract public class Test extends WithAttachment{
static ISQLTest pISQLTest = null;

// Ajour une refence au campagne ??? pour resoudre le Warning

/**
 * Date de creation du test
 */
protected Date creationDate;

/**
 * Nom complet du concepteur du test
 */
protected String conceptorName;

/**
 * Login du concepteur du test
 */
protected String conceptorLogin;
.....}

管理bean:

    private Test selectedTest; // with getters and setters

xhtml页面:

 <h:panelGrid columns="2" cellpadding="4" header="Test Details">

                                  <h:outputText value="Name of The Test :" />  
                                  <h:outputText value="#{projectTestManagementMB.selectedTest.name}" /> 

                                  <h:outputText value="Creation Date :" />  
                                  <h:outputText value="#{projectTestManagementMB.selectedTest.creationDate}" /> 

                                  <h:outputText value="Executed :" />  
                                  <h:outputText value="#{projectTestManagementMB.testExecutedFlag}" /> 

                                  <h:outputText value="Owner :" /> 
                                  <h:outputText value="#{projectTestManagementMB.selectedTest.conceptorName} #{projectTestManagementMB.selectedTestconceptorLogin}" /> 


  </h:panelGrid>

所以当我尝试在EL表达式的xhtml页面中访问它时,我得到了这个错误; Ť attribute name can no be resolved as member of selectedTest

因此,有可能在不更改类Test属性的访问类型(受保护)的情况下解决此问题。

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:2)

嗯,正如它所说的那样 - Test中没有“名称”属性,除非你WithAttachment中没有向我们展示过。

您有conceptorName,但没有name。不可否认,我不知道是否有一个受保护的领域是否足够好 - 我期望私有领域和公共getName()属性。

答案 1 :(得分:0)

#{projectTestManagementMB.selectedTest.name}

你的属性name在哪里?在Test班..