我在这个问题上遇到了一个包含受保护属性的类:
测试类:
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属性的访问类型(受保护)的情况下解决此问题。
任何帮助将不胜感激
答案 0 :(得分:2)
嗯,正如它所说的那样 - Test
中没有“名称”属性,除非你WithAttachment
中没有向我们展示过。
您有conceptorName
,但没有name
。不可否认,我不知道是否有一个受保护的领域是否足够好 - 我期望私有领域和公共getName()
属性。
答案 1 :(得分:0)
#{projectTestManagementMB.selectedTest.name}
你的属性name
在哪里?在Test
班..