有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    Spring Webflow利用Spring的转换服务。Webflow不提供InitBinder类型的方法/注释。所以你告诉Spring你想对所有流进行的所有转换。如果ConversionService不可用,则绑定支持将不可用

  2. # 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()具有选定的产品。干净简单。我也可以在网络层之外使用它