【发布时间】:2017-04-04 18:52:46
【问题描述】:
我知道这可能是一个愚蠢的问题,但我在这里不走运。 我在动态 Web 应用程序中使用 JSF2.0 (primefaces) 中的库
在我需要访问库中定义的GETTER FUNCTION名称以数字开头的对象的属性之前,我没有问题
如下
class LibraryObject
{
private String PerfectlyNamedVariable;
public String get32BitAddress(){ return this.PerfectlyNamedVariable; }
}
现在要在 JSF xhtml 中访问这个“PerfectlyNamedVariable”字符串属性(我不知道它的命名是什么,我只能看到公共 getter 函数),通常我会这样
假设 LibraryObject 的实例在 Bean 的列表中,而 JSF 正在使用
呈现表<p:dataTable value="#{MyBean.LibraryObjectList}" var="instance" >
<p:column headerText="32 Bit Address">
<h:outputText value="#{instance.32BitAddress}" />
</p:column>
</p:dataTable>
如果 GETTER FUNCTION 以除数字以外的任何名称开头,这将没有问题,但在这种情况下,我会收到此错误
Failed to parse the expression [#{instance.32BitAddress}]
我实在是无法更改库的源代码来调整命名,显然我的研究能力不达标,今天我自己找到了。 那么如何访问名称以数字开头的属性?
非常感谢
【问题讨论】:
-
java 如何允许您创建以数字开头的变量名?这不可能。见docs.oracle.com/javase/tutorial/java/nutsandbolts/…。有效的 java 变量名只能以字母、下划线或美元开头
-
我的错误,你的绝对正确。但那是在我看不到的库中,可能正如你所说,实际变量不是以数字开头。尽管如此,制作 getter 函数的天才将其称为 get32BitAddress(),现在它在 JSF 中作为 Instance.32BitAddress 访问,但它解析失败,这就是我卡住的地方
-
刚刚编辑了这个问题,也许现在对你来说更有意义
标签: primefaces jsf-2