Przeznaczenie
Moduł web-mvc umożliwia wtyczce rejestrowanie własnych servletów (kontrolerów) i wyświetlanie stron html. Moduł jest wymagany, jeżeli nasza wtyczka udostępnia interfejs lub np. REST API.
Konfiguracja
Moduł web-mvc zawiera następujące opcje konfiguracyjne:
Atrybuty
| Nazwa | Wymagany | Opis |
|---|---|---|
| key | Unikalny klucz tego modułu. |
Przykładowy deskryptor
<?xml version="1.0" encoding="UTF-8"?> <plugin key="com.suncode.plugins-helloworld" name="Hello World"> <!-- Konfiguracja Spring MVC --> <web-mvc key="mvc" /> </plugin>
Rozszerzenia
MvcModuleConfigurer
| PlusWorkflow | PluginFramework |
|---|---|
| 3.1.9+ | 1.0.6+ |
Moduł web-mvc rejestruje zbiór domyślnych komponentów wchodzących w skład SpringMVC, aby zagwarantować podstawowe funkcjonalności bez żadnej dodatkowej funkcjonalności. Jeżeli chcemy mieć wpływ na konfigurację tych komponentów, możemy dostarczyć komponent klasy com.suncode.plugin.framework.web.mvc.MvcModuleConfigurer z własną implementacją.
Zalecane jest wykorzystanie adaptera: com.suncode.plugin.framework.web.mvc.MvcModuleConfigurerAdapter
configureMessageConverters
Umożliwia skonfigurowanie wszystkich zarejestrowanych HttpMessageConverter. Możemy zarówno rejestrować nowe konwertery jak i usuwać już zarejestrowane. Dodatkowo możemy zmieniać konfigurację każdego z nich.
import com.suncode.plugin.framework.web.mvc.MvcModuleConfigurer;
@Configuration
public class MvcConfig extends MvcModuleConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
HttpMessageConverter<?> converter = ...;
// dodając na początku, nasz konwerter będzie odpytywany przed innymi
converters.add(0, converter);
// usuwamy np. 4 (!tylko jako przykład!)
converters.remove(4);
}
}
