2014-02-20 3 views
0

Я хочу получить доступ к переменной через мою страницу. Var объявляется внутри элемента ui: repeat. Слышал, что область действия переменной находится только внутри тега повтора. Я хочу загрузить еще один div на ту же страницу, которая нуждается в деталях внутри этого var. Как я могу это достичь.Доступ к var за пределами ui: repeat JSF2

<ui:repeat var="errorDetails" 
    value="#{adminDashboardController.errorDetails}" varStatus="status"> 

    <tr> 
     <td>#{errorDetails.issueName}</td> 
     <td>#{errorDetails.priority}</td> 
     <td>#{errorDetails.comments}</td> 
     <td><h:commandButton class="btn btn-primary btn-xs view-issue" 
       value="View" /></td> 
    </tr> 
</ui:repeat> 

<h4 class="modal-title" id="myModalLabel">#{errorDetails.issueName}</h4> 

ответ

0

errorDetails переменная доступна только в области применения ui:repeat.

Вы здесь два варианта:

HTML/JS решения: Генерировать HTML код, который содержит один <h4...>#{errorDetails.issueName}</h4> для каждой строки вашей таблицы и отображения правого блока при нажатии на кнопку команды использовать JavaScript.

Я думаю, что эта опция должна использоваться только по соображениям производительности, потому что вы создадите много HTML и потому что в качестве разработчика JSF вы обычно предпочитаете избегать кодирования пользовательских вещей в JavaScript.

Решение JSF (мой предпочтительный вариант): используйте поддерживающий компонент для хранения просматриваемой в данный момент детали ошибки. Это было бы что-то вроде этого:

<ui:repeat var="errorDetails" value="#{adminDashboardController.errorDetails}" varStatus="status"> 
    ... 
    <h:commandButton ... action="#{adminDashboardController.showDetails(errorDetails)" update="myModalLabel" /> 
    ... 
</ui:repeat> 

... 

<h:panelGroup rendered="#{adminDashboardController.currentDetail != null}"> 
    <h4 class="modal-title" id="myModalLabel">#{adminDashboardController.currentDetail.issueName}</h4> 
</h:panelGroup> 

В AdminDashboardController.showDetails методах спасут данную деталь ошибки в поле currentDetail.

+0

Спасибо Laurent за ваш ответ. Я не смог найти атрибут обновления в . – najeeb

 Смежные вопросы

  • Нет связанных вопросов^_^