Controller層方法傳參和返回字串

2022-03-14 16:03:14 字數 2538 閱讀 8372

1:controller層方法傳參

在上圖的方法中,需要呼叫這個方法的話,那麼a引數是必傳的,b和c無所謂傳不傳,甚至是你傳乙個方法中沒有的引數d也是可以正常呼叫該方法的。總之是有類似上面的註解@requestparam的引數必傳,其餘的看邏輯需求(一般邏輯寫了引數的,那麼都會傳參,不會出現很奇怪的傳參方式)。

有關@requestparam的總結:

@requestparam(value="a",required = true) 這個註解的後面多加了個引數required,required直譯過來是需要,這裡我們翻譯成,是否需要? 然後這個引數後面等於true,那就是說這個引數a是必傳的。

其實@requestparam(value="a",required = true)和@requestparam(value="a")是一樣的意思,都是a引數必傳的意思,不傳報錯。

當然,有了required = true,那麼自然就有 required = false。很顯然,required = false是引數非必傳。@requestparam(value="a",required = false) 和在方法形參前不寫該註解是一樣的意思。

補充:2019/12/20@requestparam(value="a",required = false) 和在方法形參前不寫該註解是一樣的意思。都可以不傳參,但是前提是該引數是不為基本資料型別,否則會報錯。如下:

不能將引數a轉為null處理,所以我這裡猜想,要是沒有傳參的話,那麼會給乙個預設值為null,但是基本資料型別不能強轉為null,所以報錯。還需要注意的是,8個基本數字型別,**除了boolean之外,都會報錯,**但是boolean這個基本數字型別就不會。(本人親測)

如上圖所示引數,直接訪問/gm,在頁面可以正常返回「幹嘛」字樣。

2:controller層方法返回的字串

之前在專案裡,看見controller層的返回型別是個字串,但是實際跳轉的時候是跳轉到具體某個頁面的。都是似懂非懂,現在來總結下:

1:就是直接返回字串的(在瀏覽器頁面顯示具體字串)

後台方法的寫法是:

上圖中的@responsebody註解是返回json格式,這裡要把字串在瀏覽器頁面顯示出來,這個註解必須加上。

瀏覽器頁面訪問並傳個a引數過去效果:

字首是/static,字尾是.html。因為springboot的配置檔案根路徑是從resources目錄開始的,新建乙個檔名為a.html的靜態頁面。如下圖:

後台方法的寫法如下:

需要注意的是需要返回頁面,那麼就必須不能在這個方法上面加上@responsebody或者是不能在這個controlle層的類上寫@restcontroller註解。

其實,這裡返回的字串「a」,實際上是返回了「/static/a.html」;

在瀏覽器裡訪問/testone方法的結果如下:

最後:controller層上的類註解@controller + @responsebody = @restcontroller補充: 2019/11/04今天和往常一樣配置視**析器,想要跳轉某個頁面,可是奇怪的事發生了,總是跳轉不了,報錯如下:

這裡的靜態資源是放在resources的static下面。

Django學習筆記 View層傳參方法

在url後面使用?表示引數,如下 使用方法 在view檢視層使用request.get.get arg1,arg2 函式接受引數 arg1表示引數名字,arg2表示預設值,如果在url處沒有傳入值,則在django邏輯中設定arg2為預設值 在two應用下對應的view層編寫以下 同時在urls中配...

controller層和service層的作用

1.在controller和service裡都寫那些 controller,從字面上理解是控制器,所以它是負責業務排程的,所以在這一層應寫一些業務的排程 而具體的業務處理應放在service中去寫,而且service不單純是對於dao的增刪改查的呼叫,service是業務層,所以應該更切近於具體業務...

jQuery click 方法傳參

今天寫東西,要在jquery 的.click方法裡傳參,查閱了一下jquery的官方文件,做了下實驗和總結 原諒我的前端 是用一點學一點!1.click handler 版本的.click,handler function 型別 只要事件被觸發,就會執行該function 2.click event...