springMVC中controller的傳參的幾種案例


1、springmvc的controller方法不指定method時,默認get/post都支持

//@RequestMapping(value="test")
//@RequestMapping(value = "test", method = RequestMethod.GET)  
//@ReqestMapping(value = "test", method = RequestMethod.POST)  
public void  test(String test) 
{
         
}

2、每個參數都列出來,用String類型申明(get/post都可以)

    @RequestMapping(value = "getChinaCityData", produces = "application/json; charset=utf-8")
    @ResponseBody
    public String getChinaCityData(String startTime,String endTime,String timeType,String cityCode) {
    
    }

3、參數太多的時候,可以考慮直接傳遞對象(只支持post)

后端用@RequestBody注釋,對象是一個javaBean。

@RequestMapping(value = "/forecastModel/selectProvinceAssessmentStatistics", produces = "application/json; charset=utf-8")
    @ResponseBody
    public String selectProvinceAssessmentStatistics(@RequestBody ProvAssessVo provAssessVo) 
{ String time=
provAssessVo.getStartTime();//ProvAssessVo是一個對象,是javaBean
     }

前端ajax要加:contentType : 'application/json;charset=utf-8',

        var param = {};
        var statsType = thisObj.statsType;
        var startTime = thisObj.startTime.Format("yyyy-MM-01 00:00:00");
        var endDate = new Date();
        endDate.setTime(thisObj.endTime.getTime());
        endDate = endDate.dateAdd("m", 1);
        var endTime = endDate.Format("yyyy-MM-01 00:00:00");
        param.startTime = new Date(startTime);
        param.endTime = new Date(endTime);
        param.type = statsType;
        param.offsets = $('#hourTypeValue').text().match(/\d+/)[0];
        CSJJ_RequestMethod(url,JSON.stringify(param),"json","post", true, function (data)
        {
           thisObj.renderProvAssessmentStatisticsBody(data);
        });

4、使用requestParam或者PathVariable。

    @GetMapping("/get")
    public User getUserById(@RequestParam(name = "id", required = true,defaultvalue=0) Integer id) 
{
if (id.intValue() == 0) { return null; } return list.get(id); }
    @GetMapping("/get/{id}")
    public User getUserByPathValue(@PathVariable(name = "id", required = true) Integer id) 
{
return list.get(id);//該方式用來獲取路徑中的參數 }

5、使用HttpServletRequest

(1)用來傳參:String name = request.getParameter("name")

(2)用來獲取http的相關信息,多用在登陸,用戶日志,文件上傳等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM