Служба конвертации не работает в шаблонах с чабрецом? - PullRequest
1 голос
/ 01 июля 2019
@Entity
    public class SeedStarter {
    ...
        private List<SeedStarterFeature> features;

    ...

В компоненте поддержки формы я хочу, чтобы функции автоматически отображались с помощью идентификаторов, выбранных пользователями

в шаблоне

    <!-- seed starter type -->
    <div>
        <label>Type</label>
        <select th:field="*{seedStarterType}">
            <option th:each="ftype: ${allTypes}" th:text="${ftype.name}" th:value="${ftype.typeId}"></option>
        </select>
    </div>

, также проверка

<h3 th:text="${#conversions.convert('5', 'io.dreamitpossible.seedstartermanager.model.SeedStarterFeature')}"></h3>

и служба преобразования

@Component
public class SeedStarterFeatureFormatter implements Formatter<SeedStarterFeature> {
    @Autowired
    private SeedStarterFeatureService seedStarterFeatureService;

    @Override
    public SeedStarterFeature parse(String text, Locale locale) throws ParseException {
        SeedStarterFeature match = null;
        try{
            Integer featureId = Integer.valueOf(text);
            match = seedStarterFeatureService.selectAllById(featureId);
        } catch (NumberFormatException exp){
        }
        return match;
    }

    @Override
    public String print(SeedStarterFeature object, Locale locale) {
        return object.toString();
    }
}

@EnableWebMvc
@Configuration
@EnableTransactionManagement
@ComponentScan("io.dreamitpossible.seedstartermanager")
public class WebMvcConfiguration extends WebMvcConfigurerAdapter {
...

    @Override
    public void addFormatters(FormatterRegistry registry) {
        registry.addFormatter(seedStarterFeatureFormatter());
    }
    @Bean
    public SeedStarterFeatureFormatter seedStarterFeatureFormatter(){
        return new SeedStarterFeatureFormatter();
    }

...
}

Я также попробовал XML-конфигурацию, но она не сработала. Как я вижу с помощью идентификаторов функций метода POST, он создает SeedStarterFeature с помощью своего конструктора, не используя конвертерыили форматеры ...

в качестве примера: с идентификаторами 5 и 6 =))

features = [SeedStarterFeature {featureId = 0, name = '5'}, SeedStarterFeature {featureId = 0, name = '6'}

В чем моя ошибка?

Я использую spring4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...