2011-08-29 2 views
0

Я хочу, чтобы systemProperties встраивал в JSF Managed Bean (jsf 1.2).Использование Spring @Value systemProperties в управляемом компоненте

Единственный способ, которым это можно сделать, - это либо использовать управляемое свойство, либо создать компонент systemProperties и вставить его в управляемый компонент, который я хочу, правильно? Я не могу использовать @Value; Для меня это должен быть весенний боб.

#{systemProperties['databaseName']}

#{systemProperties.databaseName}

Управляемый недвижимости

<managed-bean> 
    <managed-bean-name>fooUI</managed-bean-name> 
    <managed-bean-class>test.foo</managed-bean-class> 
    <managed-bean-scope>session</managed-bean-scope> 
    <managed-property> 
     <property-name>systemPropertyExample</property-name> 
     <value>#{systemProperties['systemPropertyExample']}</value> 
    </managed-property> 
</managed-bean> 

ответ

0

JSF управляемые бобы can be spring managed. Вам просто нужно настроить пружинный конкретных <el-resolver> в лицах-config.xml:

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

Это позволит решить управляемые бобы в контексте весеннего (конечно, вам нужно ContextLoaderListener в web.xml, что бутстрап весной, но Я предполагаю, что у вас есть это). Затем вы можете использовать @Value, инъекцию зависимостей и т. Д. В ваших jsf-бобах.

Единственная разница в том, что вы определяете их с помощью @Controller @Scope("request"), а не с помощью xml.

+0

Вот что я подумал, и у меня есть определенный EL-RESOLVER, и загрузите мой весенний xml через ContextLoaderListener. Должен ли я использовать аннотацию @Controller в сочетании с @Value? Прямо сейчас у меня есть управляемые beans, определенные в файле faces-config xml. – haju

+0

извините за кепки, редактируемая вещь на этом не позволит мне внести изменения, чтобы уменьшить это lol – haju

+0

да, '@ Controller' и' @ Value'. Нет xml in faces config – Bozho

0

Вы можете аннотировать JSF Bean с @Configurable, то вы можете использовать его как весенний боба. (Для этого необходимо использовать AspectJ)

+0

Когда вы говорите, что нужно использовать AspectJ, вы имеете в виду, что только банка для Spring AspectJ должна быть на пути к классу или в каком-то configuratino для этого? – haju

+0

Я имею в виду AspectJ компилировать время плетения - Но я думаю, что ответ Божо я лучше решил – Ralph

Смежные вопросы