JSF бобы с дженериками - PullRequest
       3

JSF бобы с дженериками

0 голосов
/ 02 марта 2012

Я пытаюсь понять ранее написанный код.

Здесь определены классы:

public abstract class BaseModel{....}


public abstract class ExtendedModel<T extends BaseModel>{....}


public class MyViewBean extends BaseModel{...}

public class MyController extends ExtendedModel<MyViewBean > {....}

В конфигах:

<bean name="MyViewBean" id="myViewBean" scope="request" class="com.bean.MyViewBean"/>

<bean name="MyController" id="myController" scope="session" 
        class="com.controller.MyController" init-method="init">
    The property list goes here (in this list there is no myViewBean reference).
</bean>

На странице JSF:

<rich:dataTable id="myList" value="#{myController}" var="myViewBean"...>
       <rich:column>
               <h:outputText value="#{myViewBean.myproperty}" />
       </rich:column>
</rich:datatable>

Мне нужно сделать несколькоизменения в datatable, но я не могу понять, что именно var="myViewBean" в и value="#{myViewBean.myproperty}" в <rich:column>.

1 Ответ

0 голосов
/ 02 марта 2012

var="myViewBean" просто устанавливает имя переменной EL текущего итерируемого объекта, чтобы вы могли получить к нему доступ #{myViewBean} в области видимости EL внутри компонента.В основном это действует так же, как и в простой Java:

for (MyViewBean myViewBean : myController) {
    System.out.println(myViewBean.getMyproperty());
}

Переменная myViewBean недоступна вне цикла.

Это не имеет ничего общего сдженерики.Более того, generics в Java - всего лишь вспомогательное средство времени компиляции, и они стираются после компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...