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。

 

因此在传递多个数据是,参数可设置为对象。 

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