যা আরও ভাল, স্প্রিং 3 কন্ট্রোলারে "মডেলএন্ডভিউ" বা "স্ট্রিং" ফিরিয়ে দিন


115

মডেলএন্ডভিউয়ের ফেরতের উপায়

@RequestMapping(value = "/list", method = RequestMethod.GET)
public ModelAndView list(
    @UserAuth UserAuth user, 
    ModelAndView mav) {

    if (!user.isAuthenticated()) {
        mav.setViewName("redirect:http://www.test.com/login.jsp");
        return mav;
    }

    mav.setViewName("list");
    mav.addObject("articles", listService.getLists());

    return mav;
}

স্ট্রিংয়ের ফেরার উপায়

@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(
    @UserAuth UserAuth user, 
    Model model) {

    if (!user.isAuthenticated()) {
        return "redirect:http://www.test.com/login.jsp";
    }

    model.addAttribute("articles", listService.getLists());

    return "list";
}

এই একই কাজ। কোনটি ভাল উপায়? এবং পার্থক্য কি?

উত্তর:


129

এর চেয়ে ভাল উপায় আর নেই। উভয়ই পুরোপুরি বৈধ। আপনি কোনটি ব্যবহার করতে পছন্দ করেন তা নির্ভর করে কোনটি আপনার অ্যাপ্লিকেশনকে আরও ভাল করে স্যুট করে - বসন্ত আপনাকে যেভাবেই এটি করতে দেয়।

.তিহাসিকভাবে, দুটি পন্থা স্প্রিংয়ের বিভিন্ন সংস্করণ থেকে আসে। ModelAndViewপদ্ধতির প্রি-স্প্রিং 2.0 একটি নিয়ামক থেকে উভয় মডেল এবং তথ্য দেখুন ফেরার প্রাথমিক উপায়। এখন আপনি Modelপ্যারামিটার এবং Stringরিটার্ন মান একত্রিত করতে পারেন , তবে পুরানো পদ্ধতির এখনও বৈধ।


8
সুতরাং স্ট্রিং পদ্ধতির নতুন।
অক্ষয়ব

1
@ স্কাফম্যান আপনি কি ব্যাখ্যা করতে পারেন যে বসন্ত প্রক্রিয়াতে প্রেন্টিংপথ প্রিফেন্ডিং ইত্যাদির মতো কোনও পার্থক্য রয়েছে কিনা ..
কের্তিভাসন

দয়া করে দেখুন ( স্ট্যাকওভারফ্লো . com / জিজ্ঞাসা / 1010৪০৩৮৮৩/২ )। মডেলএন্ডভিউ ব্যবহার করার সময় আমি এই সমস্যাটি পেয়েছি
বিষ্ণু কেআর

15

আমি আমাকে 2 সেন্ট যোগ করতে চাই। দ্বিতীয় পদ্ধতির অধিবেশন ভিত্তিক দিকে বেশি অর্থাত্ বিকাশকারী তাঁর দৃষ্টিভঙ্গি কী তা স্পষ্টভাবে উল্লেখ করেছেন তবে তার অন্তর্নিহিত যে রিটার্ন স্ট্রিং ভিউ নাম। তাই কম কোডিং, পঠনযোগ্য এবং মানক। মডেলএন্ডভিউয়ের সাথে পুরানো পদ্ধতির চেয়ে অনেক বেশি ভাল

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.