Вот сценарий,
Допустим, у меня есть пользовательский класс, подобный этому:
public class User{
private String firstName;
private String lastName;
//...
// setter, getters
}
Тогда у меня есть класс, подобный такому для обработки пользователя. Комментарии:
public class Comments{
// some fields
public static loadComments(User user, int count){...}
}
Пока что очень простые вещи.Тем не менее, я хочу добавить несколько помощников, чтобы упростить загрузку комментариев для пользователя.Так что я мог бы создать что-то в классе User:
final static int defaultCount = 10;
...
public Comment comments(){
return Comments.loadComments(this, defaultCount);
}
Я думаю, что это простой способ не обойти пользовательские экземпляры.Но в этот момент я несчастлив, потому что я связал свой объект пользовательского компонента с бизнес-логикой, которая загружает комментарий.Я также сохранил счетчик по умолчанию в пользовательском классе, который не должен там принадлежать.Так каков наилучший способ сделать это?Моя цель - передать этот объект в jsp, чтобы можно было вызывать функции JSTL.У меня была идея создать UserWrapper, который бы выглядел следующим образом ...
public class UserWrapper{
private final static defaultCount = 10;
private final User user;
public UserWrapper(User user){
this.user = user;
}
// should probably cache this but i am not going to show this for simplicity
public Comments getComments(){return Comments.loadComments(user, 10);}
}
Надеюсь, я все понял.Мне не нравится использовать тег useBean, потому что он не нужен для чего-то подобного.Я надеюсь, что есть более чистый способ приблизиться к чему-то подобному!Буду признателен за любую помощь!
Редактировать : Я забыл упомянуть одну вещь.Я хочу иметь возможность использовать этот код в JSTL.Что означает, что это должен быть добытчик.Модель DAO хорошо известна, но она не очень помогает, когда моему внешнему разработчику нужно написать сценарий или мне нужно загрузить его для мест, которые ему могут понадобиться или не понадобиться.