Я использую Spring 3.2 с плитками Apache. Я создал много своих классов обслуживания, используя Roo. Я пытаюсь выполнить простую процедуру, в которой я ввожу переменную в шаблоны jsp. Эта часть работает нормально, но я застрял в точке, где мне нужно сослаться на сервисный компонент.
@Component
public class CustomViewPreparer implements ViewPreparer {
@Autowired
UserProfileService ups;
@Override
public void execute(TilesRequestContext tilesContext,
AttributeContext attributeContext) {
Authentication a = SecurityContextHolder.getContext().getAuthentication();
String name = a.getName(); //get logged in username
UserProfile up = ups.findByUsername(name);
//request.setAttribute("isLoggedIn", up!=null);
}
}
UserProfileService "ups" всегда имеет значение null. Я нашел это: http://forum.springsource.org/showthread.php?48950-ViewPreparer-is-triggered-before-Session-starts
Но я не понимаю ответа. Я могу обойти это, вводя свою переменную каждый раз, когда я возвращаю представление, но мне любопытно, как другие решили эту проблему.