пружины без пружины - PullRequest
0 голосов
/ 21 июня 2011

Я начинаю новый проект JSF (2).Я понимаю, что у чистого JSF есть некоторые ограничения, и я собираюсь уйти весной.JSF - это относительно новый подход весной (в stackoverflow даже нет тега spring-face :-)), классическим способом является jsp.Мне нужна лучшая доступная настройка технологического стека.1) мне тоже нужно использовать пружинный поток?2) жизнеспособно ли использовать только грани пружины (которые, как кажется, являются частью потока полотна) + пружина mvc + JPA?3) есть ли хороший пример такой конфигурации?

Ответы [ 2 ]

3 голосов
/ 22 июня 2011

Я использую JSF 2 вместе с Spring 3 для внедрения зависимостей и т. Д.

Я не знаком с Web Flow и не использую его.

В вашем faces-config.xml вы можете зарегистрировать Spring SpringBeanFacesELResolver.

<el-resolver>
    org.springframework.web.jsf.el.SpringBeanFacesELResolver
</el-resolver>

Затем вы можете получить доступ к управляемым компонентам Spring в своем коде JSF!

Ознакомьтесь с документацией Spring и API документы .

1 голос
/ 22 июня 2011

Если в вашем приложении нет особых представлений, характерных для мастера, я сомневаюсь, что вам действительно нужно использовать SWF.

На самом деле самое простое решение - это то, что Себи сказал вам - зарегистрируйте Spring EL Resolver.и пометьте классы вашего контроллера соответствующим стереотипом (чаще всего @Controller) и желаемой областью действия.Оттуда вы сможете получать ссылки на bean-компоненты, управляемые Spring, с помощью ручного или автоматического подключения.И это все, что нужно сделать - нет управления faces-config.xml bean-компонентами и никаких «двойных IoC» накладных расходов.Как только он попадает в контекст Spring, управляемый контроллер легко разыменовывается из лицевой стороны через #{} EL-нотацию.

Например:

TestController.java:

@Controller("myController")
@Scope("request")

public class TestController {

@Autowired
private SomeSpringManagedBean someBean;

private String someViewProperty;

public String getSomeViewProperty() {
       return someViewProperty;
}

public void setSomeViewProperty(String arg) {
       this.someViewProperty = arg;
}

......

}

TestView.jspx:

<p:inputText value="#{myController.someViewProperty}" />

Мы потеряли около 2 недель, пытаясь связать SWF с JSF 1.2 - только для того, чтобы обнаружить, что, как только мы действительно установим его на работу с последней версией IceFaces, поддерживающей JSF1.2, у IceFaces была такая неприятная особенность / ошибка, что она просто не отображала представление, и застряла в Фазе 5 без каких-либо исключений или сообщений о чем-либо полезном (проблема была исправлена ​​в версии IceFaces 1.8.2-GA).это невозможно получить без покупки лицензии).

РЕДАКТИРОВАТЬ: я заметил в основном похожий SO-поток здесь .

...