Если в вашем приложении нет особых представлений, характерных для мастера, я сомневаюсь, что вам действительно нужно использовать 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-поток здесь .