如何将表单的值从jsp发送到java

我有一个有30个不同领域的表格。 将它们全部传递给控制器​​需要每个都有一个属性以及一对getter,setter。

我将把表单字段作为对象并将对象发送到控制器。

我使用下面的代码* 但有些人建议从jsp调用java方法并使用JSTL这是一个不好的做法,但不知道如何使用JSTL实现它。 有没有其他方法可以做到这一点? *

我的JSP

 code to implement form goes here     

控制器

  public String Xclass(User obj){ return "output"; } 

澄清我的类图如下:

 User Class { all the attributes and getters setters } myController class extends User { public String XClass(User obj){ ... work on the inputes ... return "output"; } } 

如果操作属性的数量是问题,请手动公开POJO,或使用ModelDriven 。

手动完成操作很简单,例如:

 public class UserController { private User user; // Plus public getter and setter } 

然后在JSP中,您可以按名称引用User属性:

   ... 

使用ModelDriven在理论上更容易,因为它自动放在堆栈上。 确保只在需要时实例化新模型可能很棘手,但基本上(来自内存):

 public class UserController implements ModelDriven { private User user; public User getModel() { return user; } } 

直接在JSP中使用User属性,因为User被推入堆栈:

   ... 

同样,在表单提交时,会创建一个模型并将其用作方法的第一个目标。

请记住,您永远不会向Java端发送对象:您始终只发送字符串(来自正常的HTTP表单提交)。 服务器端可能存在将这些字符串转换为对象的魔法,但它只是:魔术。 魔力和希望。