diff --git a/src/main/java/ru/ulstu/fc/config/MvcConfiguration.java b/src/main/java/ru/ulstu/fc/config/MvcConfiguration.java index 12d8f9e..1203d38 100644 --- a/src/main/java/ru/ulstu/fc/config/MvcConfiguration.java +++ b/src/main/java/ru/ulstu/fc/config/MvcConfiguration.java @@ -11,17 +11,16 @@ import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.LocaleResolver; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; -import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.i18n.CookieLocaleResolver; import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; @Configuration public class MvcConfiguration implements WebMvcConfigurer { - @Override - public void addViewControllers(ViewControllerRegistry registry) { - registry.addViewController("/index"); - } +// @Override +// public void addViewControllers(ViewControllerRegistry registry) { +// registry.addViewController("/index"); +// } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { diff --git a/src/main/java/ru/ulstu/fc/rule/controller/InferenceMvcController.java b/src/main/java/ru/ulstu/fc/rule/controller/InferenceMvcController.java new file mode 100644 index 0000000..1a9d616 --- /dev/null +++ b/src/main/java/ru/ulstu/fc/rule/controller/InferenceMvcController.java @@ -0,0 +1,48 @@ +package ru.ulstu.fc.rule.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import ru.ulstu.fc.rule.model.Antecedent; +import ru.ulstu.fc.rule.model.InferenceForm; + +import java.util.Arrays; +import java.util.List; + +@Controller +public class InferenceMvcController { + + @GetMapping("/") + public String initInference(Model model) { + model.addAttribute("ageAntecedents", getAgeAntecedents()); + model.addAttribute("incomeAntecedents", getIncomeAntecedents()); + model.addAttribute("inferenceForm", new InferenceForm()); + return "index"; + } + + @RequestMapping(value = "get-inference", method = RequestMethod.POST) + public String getInference(@ModelAttribute InferenceForm inferenceForm, Model model) { + model.addAttribute("ageAntecedents", getAgeAntecedents()); + model.addAttribute("incomeAntecedents", getIncomeAntecedents()); + model.addAttribute("inferenceForm", inferenceForm); + model.addAttribute("response", "123"); + return "index"; + } + + private List getAgeAntecedents() { + return Arrays.asList( + new Antecedent("молодой", "young"), + new Antecedent("средний", "average"), + new Antecedent("старый", "old")); + } + + private List getIncomeAntecedents() { + return Arrays.asList( + new Antecedent("малый", "small"), + new Antecedent("средний", "average"), + new Antecedent("высокий", "high")); + } +} diff --git a/src/main/java/ru/ulstu/fc/rule/service/Antecedent.java b/src/main/java/ru/ulstu/fc/rule/model/Antecedent.java similarity index 57% rename from src/main/java/ru/ulstu/fc/rule/service/Antecedent.java rename to src/main/java/ru/ulstu/fc/rule/model/Antecedent.java index 4020c14..54915e1 100644 --- a/src/main/java/ru/ulstu/fc/rule/service/Antecedent.java +++ b/src/main/java/ru/ulstu/fc/rule/model/Antecedent.java @@ -1,9 +1,14 @@ -package ru.ulstu.fc.rule.service; +package ru.ulstu.fc.rule.model; public class Antecedent { private String value; private String description; + public Antecedent(String description, String value) { + this.description = description; + this.value = value; + } + public String getValue() { return value; } diff --git a/src/main/java/ru/ulstu/fc/rule/model/InferenceForm.java b/src/main/java/ru/ulstu/fc/rule/model/InferenceForm.java new file mode 100644 index 0000000..d336986 --- /dev/null +++ b/src/main/java/ru/ulstu/fc/rule/model/InferenceForm.java @@ -0,0 +1,22 @@ +package ru.ulstu.fc.rule.model; + +public class InferenceForm { + private String ageAntecedent; + private String incomeAntecedent; + + public String getAgeAntecedent() { + return ageAntecedent; + } + + public void setAgeAntecedent(String ageAntecedent) { + this.ageAntecedent = ageAntecedent; + } + + public String getIncomeAntecedent() { + return incomeAntecedent; + } + + public void setIncomeAntecedent(String incomeAntecedent) { + this.incomeAntecedent = incomeAntecedent; + } +} diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index de9d67f..48b474d 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -3,12 +3,54 @@ xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorate="~{default}">
- Пример вывода по набору нечетких правил: -
- если возраст средний и доход высокий то размер кредита большой -
- если возраст молодой и доход высокий то размер кредита средний -
- если возраст старый и доход средний то размер кредита средний +
+
+ Пример вывода по набору нечетких правил: +
+
+ если возраст средний и доход высокий то размер кредита большой +
+
+ если возраст молодой и доход высокий то размер кредита средний +
+
+ если возраст старый и доход средний то размер кредита средний +
+
+ Выберите значения: +
+
+
+ Возраст +
+
+ +
+
+
+
+ Доход +
+
+ +
+
+ +
+