提交表格没有弹簧形式标签

时间:2017-04-12 20:37:47

标签: java spring forms spring-mvc

我正在开发一个简单的应用程序在spring mvc而不使用spring form标签,目前我的工作是通过使用下面的代码完成的,但为了理解目的,我问这个问题。 我有两个支持bean类,我绑定到一个html <form>标记,这在spring form标签中是不可能的。

bean 1

   public class Interim {
    private int interimId;
    private BigDecimal amount;
    private int interimCategory;
    // setter n getter
    }

bean 2

    public class Bcr {
    private int bcrId;
    private BigDecimal cashAmount;
    private int interimCategory;
    }

html表单

<form action="/interim" method="get">
<input type="text" name="amount" />
<input type="text" name="cashAmount" />
<input type="text" name="interimCategory" />
<button type="submit" name="Month" > month </button>
</from>

弹簧控制器

@Controller
public TestController {

   @RequestMapping(value = "/interim", method = RequestMethod.GET)
    public String interimInit(ModelMap map) {
        map.addAttribute("interim",new Interim());
        map.addAttribute("bcr",new Bcr());
        return "interim";
    }

/// on form submit
@RequestMapping(value = "/interim", method = RequestMethod.GET, params = "Month")
    public String getMonthlyInterim(@ModelAttribute("bcr") Bcr b,ModelMap
            modelMap,@ModelAttribute("interim") Interim in) {



}

当我在两个bean中提交表单spring mvc set interimCategory时,

  1. 如何告诉spring不要设置Bcr bean的interimCategory?
  2. 这是在春天创建html表单的好方法吗?

1 个答案:

答案 0 :(得分:0)

如果您不想使用Spring表单标记,您可以选择使用JQuery Ajax发送表单+使用POST方法在HTTP正文中发送数据,该HTTP消息的正文将是JSON消息。 / p>

然后你可以使用@RequestBody注释将json绑定到控制器上的变量。