Spring頁面通過form傳遞參數到contoller相關問題

前端form表單中的內容

<form action="/accounting" method="get">
    <div>
        <label for="cash">Cash</label>
        <input type="text" name="cash" id="cash">
    </div>
    <div>
        <label for="income">Income</label>
        <input type="text" name="income" id="income">
    </div>
    <div>
        <label for="rent">Rent</label>
        <input type="text" name="rent" id="rent">
    </div>
    <div>
        <label for="charges">Charges</label>
        <input type="text" name="charges" id="charges">
    </div>
    <div>
        <label for="eat">Eat</label>
        <input type="text" name="eat" id="eat">
    </div>
    <div>
        <label for="treat">Treat</label>
        <input type="text" name="treat" id="treat">
    </div>
    <div>
        <label for="ktv">Ktv</label>
        <input type="text" name="ktv" id="ktv">
    </div>

    <div>
        <button type="submit">Submit</button>
    </div>
</form>

參數傳遞的部分代碼

@RequestMapping(path = "/accounting")
    public Accounting accounting(Accounting accounting) {
        int result = accounting.getCash() + accounting.getIncome() - accounting.getCharges()
                - accounting.getEat() - accounting.getKtv() - accounting.getRent() - accounting.getTreat();
        accounting.setBalance(result);
        return accounting;
    }

Accounting對象

get、set方法省略

public class Accounting {
    private int cash;

    private int income;

    private int rent;

    private int charges;

    private int eat;

    private int treat;

    private int ktv;
  
    private int balance;
}

在這裏我們方法中的參數用對象,在傳遞form表單數據的過程中,會根據input標籤的name屬性來與Accounting對象的屬性來進行對應傳值,當form-input的name屬性在對象中匹配不到對應的屬性時,傳進來的對象的該屬性爲null。

 

因此在傳遞多個數據是,參數可設置爲對象。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章