मैं अजवायन और वसंत का उपयोग कर रहा हूँ। मैं पोस्ट अनुरोध को लागू करना चाहता हूं।

मेरा नियंत्रक वर्ग है

public class URLController {

    @RequestMapping(value = "index")
    public String index1(Model model){
        model.addAttribute("employee",new Employee());
        return "index";
    }

    @RequestMapping(value = "/")
    public String index(Model model){
        model.addAttribute("employee",new Employee());

        return "index";
    }

    @PostMapping("/result")
    public String result(@ModelAttribute Employee employee){
        System.out.print(employee.getName());
        return "result";
    }
}

और html पृष्ठ है

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index page</title>
</head>
<body>
<form action="#" th:action="@{/result}" modelAttribute="employee" method="post">
    <p>Id: <input type="text" th:field="*{id}" /></p>
    <p>name: <input type="text" th:field="*{name}" /></p>
    <p>phone: <input type="text" th:field="*{phone}" /></p>
    <p><input type="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
</form>


</body>
</html>

आईडी फ़ील्ड के साथ कोई बंधन नहीं है।

0
dishank goyal 27 अक्टूबर 2018, 10:40

1 उत्तर

सबसे बढ़िया उत्तर

अपने HTML में, आपको अपनी मॉडल विशेषता के लिए उचित सिंटैक्स का उपयोग करने की आवश्यकता है। स्प्रिंग शिकायत कर रहा है कि उसे संपत्ति id नहीं मिल रही है क्योंकि आप स्ट्रिंग employee प्रदान कर रहे हैं, वस्तु नहीं।

modelAttribute="employee" --> th:object="${employee}"

इसके अतिरिक्त, आप इसे समेकित कर सकते हैं:

@Controller //please add this
public class URLController {

    @GetMapping({"/", "/index"})
    public String index1(Model model){
        model.addAttribute("employee",new Employee());
        return "index";
    }

    @PostMapping("/result")
    public String result(@ModelAttribute Employee employee){
        System.out.print(employee.getName()); //use a logger instead
        return "result"; //may want to return a different page name for clarity
    }
}

यदि आप अपना HTML टैग इसमें बदलते हैं तो आपका आईडीई शिकायत नहीं करेगा:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">

अंत में, आप फ़ोन फ़ील्ड के लिए tel इनपुट प्रकार का उपयोग करना चाह सकते हैं। ऐसा करने से मोबाइल उपयोगकर्ताओं के लिए एक कस्टम कीबोर्ड दिखाई देगा।

1
vphilipnyc 29 अक्टूबर 2018, 04:38