java什么是spring转换服务的实际用例场景 1 周,1 日 Questions & Answers 1031 我在读这些问题 ConversionService in Spring 但我仍然不明白在什么情况下我们需要进行转换 有人能给我举一个在web应用程序中使用转换服务的真实例子吗
# 1 楼答案 Spring Webflow利用Spring的转换服务。Webflow不提供InitBinder类型的方法/注释。所以你告诉Spring你想对所有流进行的所有转换。如果ConversionService不可用,则绑定支持将不可用
# 2 楼答案 转换服务可用于在UI和业务对象之间直接转换 假设我有一个带有产品下拉列表的网络应用程序。定义ProductConversionService很简单,它可以将下拉列表的值(比如id 4)转换为产品。现在,在我的代码(控制器、API等)中,我只是指一个产品,所有事情都是自动发生的 在较旧的UI中,我看到了大量用于此转换的代码。我将给出一个故意粗糙的例子: String productIdParam = request.getParameter("productId"); // Validate that the param exists, is numeric, etc..... Long productId = Long.valueOf(productIdParam); Product product = productManager.findProduct(productId); 这段代码也更难测试,因为我必须创建一个模拟请求,给它一个productIdParameter等等。我还需要让productManager在任何需要它的地方都可以使用 使用ConversionService,我可以将其放在JSP中: <form:select path="mystuff.product"> <option value="1">Nook</option> <option value="2">Cranny</option> </form:select> 当我的Spring MVC控制器收到请求时,mystuff。getProduct()具有选定的产品。干净简单。我也可以在网络层之外使用它
# 1 楼答案
Spring Webflow利用Spring的转换服务。Webflow不提供InitBinder类型的方法/注释。所以你告诉Spring你想对所有流进行的所有转换。如果ConversionService不可用,则绑定支持将不可用
# 2 楼答案
转换服务可用于在UI和业务对象之间直接转换
假设我有一个带有产品下拉列表的网络应用程序。定义ProductConversionService很简单,它可以将下拉列表的值(比如id 4)转换为产品。现在,在我的代码(控制器、API等)中,我只是指一个产品,所有事情都是自动发生的
在较旧的UI中,我看到了大量用于此转换的代码。我将给出一个故意粗糙的例子:
这段代码也更难测试,因为我必须创建一个模拟请求,给它一个productIdParameter等等。我还需要让productManager在任何需要它的地方都可以使用
使用ConversionService,我可以将其放在JSP中:
当我的Spring MVC控制器收到请求时,mystuff。getProduct()具有选定的产品。干净简单。我也可以在网络层之外使用它