- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经开始在 Spring Weblow 中开发 Web 应用程序。这个想法是尽可能用 Java 编写,而不是 XML。因此,我首先使用用于 MVC 配置和 Web Flow 配置的 JavaConfig 文件。但当我需要转换器来使用 Spring Web Flow 输入和提交表单时,我遇到了问题。
我对 ConversionService 和 Converters 做了很多研究。我发现了很多实现自定义 ConversionService 和自定义转换器的示例,但我没有找到将 ConversionService 添加到 JavaConfig 中的 Web Flow 配置的示例(配置始终是 XML)。
我确实尝试用 Java 重现 XML 配置,这几乎成功了。在表单页面中,POJO(员工)列表以下拉列表的形式表示。输入是 List<Employee>
转换器(StringToObject 的子类)将每个 Employee 表示为字符串。但是在提交表单时,我收到错误,没有找到 String to Employee 的转换器。所以基本上,在渲染页面时找到并使用了自定义转换器,但在提交表单时,无法找到相同的转换器进行反向过程。
我最终通过将 JavaConfig 回滚到 XML 配置并将自定义格式化程序添加到 MVC 配置的 ConversionService 来修复它。但如果可能的话,我希望在 JavaConfig 中实现这项工作。我相信问题在于需要将 ConversionService bean(org.springframework.core.convert 包)添加到 MVC 配置中,因为需要将该 bean 设置为 ConversionService bean 中的委托(delegate) ConversionService 才能添加到 Web Flow配置(后者来自 org.springframework.binding.convert 包)。但我不知道如何在 JavaConfig 中添加这个核心 ConversionService,就像下面代码中的 mvc:annotation-driven 标记一样。
这一切都归结为需要以下代码的 JavaConfig 版本:
<mvc:annotation-driven conversion-service="typeConversionService" ... />
<bean id="typeConversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="formatters">
<list>
<bean class="some.package.holidays.formatter.EmployeeFormatter">
<constructor-arg ref="employeeService"/>
</bean>
<bean class="org.springframework.format.datetime.DateFormatter">
<constructor-arg value="dd/MM/yyyy"/>
</bean>
</list>
</property>
</bean>
如果有人了解 Spring Webflow 的 JavaConfig,尤其是添加 ConversionService,请告诉我,这将是一个很大的帮助。
最佳答案
我在一个项目中要做同样的事情,这就是我所做的。我知道这对你来说可能已经晚了,但也许其他人需要这个答案:
@Configuration
public class WebFlowConfig extends AbstractFlowConfiguration {
@Autowired
private MvcConfig webMvcConfig;
@Bean
public FlowBuilderServices flowBuilderServices() {
return getFlowBuilderServicesBuilder()
.setViewFactoryCreator(mvcViewFactoryCreator())
.setValidator(this.webMvcConfig.validator())
.setConversionService(conversionService())
.setDevelopmentMode(true)
.build();
}
@Bean
DefaultConversionService conversionService() {
return new DefaultConversionService(conversionServiceFactoryBean().getObject());
}
@Bean
FormattingConversionServiceFactoryBean conversionServiceFactoryBean() {
FormattingConversionServiceFactoryBean fcs = new FormattingConversionServiceFactoryBean();
Set<Formatter> fmts = new HashSet<>();
fmts.add(this.webMvcConfig.dateFormatter());
fmts.add(this.webMvcConfig.employeeFormatter());
fcs.setFormatters(fmts);
return fcs;
} }
关于spring-mvc - JavaConfig 中的 Spring Web Flow 转换服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24743080/
Java 在 JSR-330 中添加了官方依赖注入(inject)支持,例如 @Inject、@Named 等。这些可以与 Spring 或 Guice 等不同的框架一起使用。 Spring 还提供了
浏览 Spring Javaconfig 引用文档 http://docs.spring.io/spring-framework/docs/current/spring-framework-refer
什么是 JavaConfig 等价物? 尝试像这样声明它,但它仅充当单例 @Bean public CheckOutCounter checkOutCounter(){
找不到错误(( Spring MVC + Hibernate,JavaConfig WebAppConfig: package com.sprhib.init; import java.util.Pr
我在配置camel以使用java配置与mavencamel:run插件时遇到问题。 这是插件 xml: org.apache.camel
我编写了一个调度程序,它仅在处理 xml 文件时才能按预期工作。但我无法使用 Javaconfig 类运行它。以下是代码。 调度程序: public class DemoServiceBasicUsa
我们正在尝试将 AspectJ @Aspect 实现到我们现有的软件中,以便在进行服务调用后执行一些代码。 注意: 我们的服务接口(interface)和实现是@Autowired通过其余 Contr
有多个用@Configuration 注释的类,我想在顶级配置组件中决定在上下文中注册哪一个。 @Configuration public class FileSystemDataStoreConfi
这个问题在这里已经有了答案: Spring: @Component versus @Bean (16 个答案) 关闭 8 年前。 在 JavaConfig 中定义一个 bean 与仅仅注释一个类有何
这个问题在这里已经有了答案: How to import Java-config class into XML-config so that both contexts have beans? (3
Spring 大约需要 5 到 10 秒来自行配置,我将 XML 用于基础结构 bean,并使用带有注释的组件扫描来处理其他所有内容。 Spring JavaConfig 是否消除了组件扫描的需要以及
我有一个问题要解决:1)我们的项目使用 Spring JavaConfig 方法(所以没有 xml 文件)2)我需要创建自定义范围,xml中的示例如下所示:
我是 Spring 框架的新手,我在理解 @Required 时遇到了问题。注释与 Java 配置的应用程序相结合。 这是一个例子。 配置文件 @Configuration public class
我最近正在使用 spring data jpa 开发 spring web 应用程序 我在持久性配置方面遇到问题: @Configuration @EnableTransactionManagemen
我正在尝试设置一个在我的 Spring WebMVCConfig 中未找到的页面,它无法正常工作.. 这是我的配置: @Configuration @EnableWebMvc @PropertySou
我对 Spring 框架还很陌生,在理解 @Required 注释与 Java 配置的应用程序结合使用时遇到了问题。 这是一个示例。 配置文件 @Configuration public class
我们的 Spring 配置包含大约 1200 个 bean,我们使用 component-scan/@Autowired。如果我们将 ApplicationContext 导出为 Xml(并且仍然使用
目前我有一个加载属性文件的 Spring xml 配置(Spring 4)。 上下文属性 my.app.service = myService my.app.other = ${my.app.serv
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我正在将一些现有的 xml 配置转移到 Spring 的 Java 配置。在这个过程中,我遇到了一些被转移的Java代码,抛出一个checked Exception . @Bean public Po
我是一名优秀的程序员,十分优秀!