2016-11-21 8 views
0

Я знаю, что это, наверное, глупый вопрос, но мне здесь не повезло. Я использую библиотеку в Dynamic Web App, с JSF2.0 (primefaces)JSF Access Свойство, имя которого начинается с цифры

У меня нет никаких проблем, пока мне не нужно, чтобы получить доступ к свойству объекта, определенного в библиотеке Whos GETTER ФУНКЦИЯ имя начинается с номера

его следующим

class LibraryObject 
{ 
private String PerfectlyNamedVariable; 
public String get32BitAddress(){ return this.PerfectlyNamedVariable; } 
} 

теперь этот «PerfectlyNamedVariable» свойство String (которые я не знаю, что именование, все, что я вижу, это функция общественного геттер) в JSF XHTML, как правило, я бы примерно примерно

говорят экземпляры 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}] 

Я действительно не могу изменить исходный код библиотеки для настройки имен, и, видимо, мои навыки исследования не до стандарта, чтобы обнаружить, что на моем собственном сегодня , Так как я могу получить доступ к собственности, имя которого начинается с числа?

Большое спасибо

+2

Как java позволяет создавать имя переменной, которое начинается с числа? это невозможно. См. Https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html. Правильное имя переменной java может начинаться только с букв, подчеркивания или доллара –

+0

Ну, моя ошибка, ваша абсолютно правильная. Но это в библиотеке, которую я не вижу, и, вероятно, как вы говорите, фактическая переменная не начинается с числа. Тем не менее, гений, создавший функцию getter, называл это get32BitAddress(), к которому теперь нужно обращаться как экземпляр.32BitAddress в JSF, который с жадностью не может разобрать, и вот где я застрял –

+0

Просто отредактировал вопрос, может быть, было бы разумнее вы теперь –

ответ

0

Вы можете использовать следующее выражение для доступа к таким полям -

<h:outputText value="${instance.get32BitAddress()}" /> 

Используя этот подход, вы можете получить только значение. Вы не можете установить. Поскольку вы используете это значение в <h:outputText>, так что это не будет проблемой при отправке формы.