/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/xml/java-503-252-006/main.xml
49 строк
2 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
<h:form id="todoForm"> <h:messages globalOnly="true" styleClass="messages"/> <div class="add-form"> <h:inputText id="newTask" value="#{todoBean.newTaskTitle}" placeholder="Новая задача..." styleClass="task-input"/> <h:commandButton value="Добавить" action="#{todoBean.addTask}" styleClass="btn btn-primary"/> </div> <div class="stats"> Всего: <strong>#{todoBean.tasks.size()}</strong> · Выполнено: <strong>#{todoBean.completedCount}</strong> </div> <h:dataTable value="#{todoBean.tasks}" var="task" styleClass="task-table" rendered="#{not empty todoBean.tasks}"> <h:column> <f:facet name="header">Статус</f:facet> <h:selectBooleanCheckbox value="#{task.completed}"> <f:ajax event="change" render="@form"/> </h:selectBooleanCheckbox> </h:column> <h:column> <f:facet name="header">Задача</f:facet> <span class="#{task.completed ? 'completed' : ''}">#{task.title}</span> </h:column> <h:column> <f:facet name="header">Создана</f:facet> #{task.formattedCreatedAt} </h:column> <h:column> <f:facet name="header"/> <h:commandButton value="Удалить" action="#{todoBean.removeTask(task)}" styleClass="btn btn-danger"/> </h:column> </h:dataTable> <h:panelGroup layout="block" styleClass="empty-hint" rendered="#{empty todoBean.tasks}"> Список пуст. Добавьте первую задачу выше. </h:panelGroup> </h:form>