Показаны сообщения с ярлыком Habrahabr (хабр). Показать все сообщения
Показаны сообщения с ярлыком Habrahabr (хабр). Показать все сообщения

четверг, декабря 12

Пишем плагин для Maven

статья на хабре

Spring и обработка событий в Hibernate

Полная статья доступна на habrahabr.ru
Как-то обделена на хабре такая тема, как обработка событий при работе с сущностями с использованием Hibernate - я смог найти только один пост уже почти мохнатого года. Но то аудит, а нам нужна возможность автоматизировать работу с некоторыми атрибутами сущностей и при этом упростить процедуру работы с ними.

понедельник, июля 8

PowerMock(+Mockito) +TestNG и мокинг статических классов/методов

На хабре уже была статья с примерами использования PowerMock, но в ней не хватает такого описания, как мокирование статических методов как самостоятельных "единиц" в классе, так и в гибридном использовании, когда часть статических методов у класса мокируются, а часть вызываются реально. Попробую исправить эту нишу.

полная статья на хабре

суббота, марта 26

JSP и вывод таблиц с "отсутствующими" строками

написание поста навеяно следующим комментарием:
на практике часто возникает задача отображать данные в виде списка или таблицы, но случай, когда данных нет, требуется обрабатывать особо. Например, в случае с Java и JSTL код темплейта оказывается весьма тяжеловесным, и я, признаться, не встречал особенно выдающихся альтернатив

Приведу как минимум 2 примера, на вскидку, для решения вышеозвученной "проблемы".

Исходные данные:
<java>
Class Row{
private int id;
private String text;
... вырезанные getters & setters ...
}

List rows; // Количество элементов от 0 до n
</java>

Способ первый: "прямой" вывод данных с помощью смеси JSTL+HTML
<jsp>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<table>
 <thead>
  <tr>
   <th>id</th>
   <th>text</th>
  <tr>
 </thead>
 <tbody>
  <c:choose>
   <c:when test="${fn:length(rows)>0}">
    <c:forEach var="row" items="${rows}">
     <tr>
      <td>${row.id}</td>
      <td>${row.text}</td>
     </tr>
    </c:forEach>
   </c:when>
   <c:otherwise>
    <tr>
     <td colspan="2">Нет данных для вывода</td>
    </tr>
   </c:otherwise>
  </c:choose>
 </tbody>
</table>
</jsp>

Способ второй: с помощью DisplayTag
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://displaytag.sf.net" prefix="display"%>
<display:setProperty name="basic.empty.showtable" value="true"/>
<display:setProperty name="basic.msg.empty_list" value="Нет данных для вывода"/>
<display:table name="rows">
 <display:column property="id" />
 <display:column property="text" />
</display:table>



Если вам пригодилась статья, то отправьте 5 рублей автору. Спасибо!