Spring页面通过form传递参数到contoller相关问题

本文介绍了一个具体的前端form表单设计,用于输入财务数据,并详细解释了如何使用Spring MVC框架的@RequestMapping注解接收这些数据。通过将form表单的name属性与Accounting对象的属性相匹配,实现了数据的有效传递和处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前端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。

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值