使用getter和setter从另一个控制器检索时,填充在一个控制器中设置的值

时间:2019-01-29 05:01:44

标签: java spring

我有两个不同的控制器,一个用于获取,一个用于提交,以及一个公共服务类。

Ajax Controller1:

@PostMapping(value = {"/someUrl"})
public Map<String, String> fetchList() {
List<Make> makes = testService.getMakes();

}

TestService类代码方法在下面

private List<Make> makes ;

// getters品牌和 setters 品牌

public List<Make> getMakes() {
        try {

            Resource resource = new ClassPathResource("input.json");
            JsonReader jsonReader = new JsonReader(new FileReader(resource.getFile()));
            List<Make> makes  = new GsonBuilder().enableComplexMapKeySerialization().create()
                    .fromJson(jsonReader, new TypeToken<Map<Make, List<Model>>>() {
                    }.getType());
            setMakes(makes);**//Here I am setting value**
            return makes;
        } catch (IOException e) {

        }
        return null;
    }

Ajax控制器2: 我正在注射

@TestService service;
@PostMapping(value = {"/mainURL"})
    public Map<String, String> submitList() {
        service.getMakes()
    }

这两个ajax控制器都在同一页面上调用。

  

这样做是一个好习惯吗?   Controller1并在另一个Controller2中获取值。

1 个答案:

答案 0 :(得分:0)

应该是这样

  1. AjaxController1
  2. AjaxController1的服务层
  3. getMakes()

  4. AjaxController2

  5. AjaxController2的服务层
  6. AjaxController1的自动接线服务
  7. 使用自动装配的服务1创建功能并获取制造清单
  8. 返回列表。