স্প্রিং এমভিসি আমার নিয়ামক পদ্ধতিতে জিইটি এইচটিটিপি অনুরোধের প্যারামিটার মানটি কীভাবে গ্রহণ করবে?


87

এই সময়ের মধ্যে আমি স্প্রিং এমভিসি শোকেস উদাহরণ (এসটিএস ডাসবোর্ড থেকে ডাউনলোডযোগ্য) অধ্যয়ন করছি এবং Request Mappingউদাহরণগুলির সম্পর্কে আমার কিছু সাধারণ প্রশ্ন রয়েছে :

1) আমার home.jspপৃষ্ঠাতে আমার এই লিঙ্কটি রয়েছে:

        <li>
            <a id="byParameter" class="textLink" href="<c:url value="/mapping/parameter?foo=bar" />">By path, method, and presence of parameter</a>
        </li>

আপনি এই লিঙ্কটি দ্বারা দেখতে পাচ্ছেন যে আমি একটি এইচটিটিপি জিইটি অনুরোধ করছি যা একটি "ফু" পরামিতি রয়েছে যার মান রয়েছে: "বার"।

এই এইচটিটিপি অনুরোধটি নিয়ামক শ্রেণীর ম্যাপিংকন্ট্রোলারের নিম্নলিখিত পদ্ধতি দ্বারা পরিচালিত হয়:

@RequestMapping(value="/mapping/parameter", method=RequestMethod.GET, params="foo")
public @ResponseBody String byParameter() {
    return "Mapped by path + method + presence of query parameter! (MappingController)";
}

এই পদ্ধতিটি HTTP অনুরোধ পরিচালনা করে (কেবলমাত্র GET টাইপ করুন) যার "foo" নামে একটি প্যারামিটার রয়েছে

আমি কীভাবে এই প্যারামিটারটির মান ("বার") নিতে পারি এবং তা আমার প্যারামিটার পদ্ধতিতে কোডের ভিতরে কোনও ভেরিয়েবলে রাখতে পারি?

উত্তর:


184

ডকুমেন্টেশনে ব্যাখ্যা হিসাবে , একটি @RequestParamটিকা ব্যবহার করে :

public @ResponseBody String byParameter(@RequestParam("foo") String foo) {
    return "Mapped by path + method + presence of query parameter! (MappingController) - foo = "
           + foo;
}

4
আপনার সাফ জবাব এবং ডকুমেন্টেশনের রেফারেন্সের জন্য আপনাকে অনেক ধন্যবাদ
AndreaNobili

4
যদি 10 টি পরামিতি থাকে তবে আমাদের কি 10 বার এটি করতে হবে বা থার দৃশ্যের জন্য আরও ভাল উপায় আছে
গণনা

4
@ অ্যাকাউন্ট: ডকুমেন্টেশনে আমি যে লিঙ্কটি দিয়েছি তার উপর ক্লিক করুন, "অনুগ্রহিত পদ্ধতি যুক্তির
ধরণগুলি

43

আপনি একটি ইউআরআই টেমপ্লেটও ব্যবহার করতে পারেন। আপনি যদি আপনার অনুরোধটিকে বিশ্রামের URL এ কাঠামোবদ্ধ করেন তবে স্প্রিং ইউআরএল থেকে প্রদত্ত মানটিকে পার্স করতে পারে।

এইচটিএমএল

<li>
    <a id="byParameter" 
       class="textLink" href="<c:url value="/mapping/parameter/bar />">By path, method,and
           presence of parameter</a>
</li>

নিয়ামক

@RequestMapping(value="/mapping/parameter/{foo}", method=RequestMethod.GET)
public @ResponseBody String byParameter(@PathVariable String foo) {
    //Perform logic with foo
    return "Mapped by path + method + presence of query parameter! (MappingController)";
}

স্প্রিং ইউআরআই টেম্পলেট ডকুমেন্টেশন

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