struts2-如何将请求参数填充到action类中的相应字段?

struts2-如何将请求参数填充到action类中的相应字段?,struts2,struts,interceptor,Struts2,Struts,Interceptor,如果有一个请求参数“name”传递给一个操作,如果我们有一个名为“name”的字段,我们可以在action类中接收它。哪个拦截器负责这样做?我查看了参数sinterceptor的代码,但它只将参数设置到值堆栈中,而不是action类的相应字段中 但它只在值堆栈上设置参数,而不是在 action类的相应字段 您的推理中只有一个小故障:action类位于值堆栈的顶部!因此com.opensymphony.xwork2.interceptor.parameters接收器负责 但它只在值堆栈上设置参数,

如果有一个请求参数“name”传递给一个操作,如果我们有一个名为“name”的字段,我们可以在action类中接收它。哪个拦截器负责这样做?我查看了
参数sinterceptor
的代码,但它只将参数设置到值堆栈中,而不是action类的相应字段中

但它只在值堆栈上设置参数,而不是在 action类的相应字段

您的推理中只有一个小故障:action类位于值堆栈的顶部!因此com.opensymphony.xwork2.interceptor.parameters接收器负责

但它只在值堆栈上设置参数,而不是在 action类的相应字段


您的推理中只有一个小故障:action类位于值堆栈的顶部!因此com.opensymphony.xwork2.interceptor.ParametersInterceptor负责。

作为一条建议,我建议您在action类上实际上没有名为“name”的参数,而是将这些字段从action类移动到另一个将用作“model”的类中。然后,让action类实现ModelDriven接口。这将把模型类放在ValueStack的顶部,而不是action类实例,然后“name”参数将映射到模型实例上


将模型/数据关注点从操作/控制关注点分离到另一个类中,将使代码更具可读性和可维护性。当然,如果只有(比如)一个参数,那么将其拆分为单独的类将是愚蠢的。但是,超过2个或3个参数,您将从分离中受益。

不过,作为一条建议,我建议您在action类上实际上没有名为“name”的参数,而是将这些字段从action类移动到另一个用作“model”的类中。然后,让action类实现ModelDriven接口。这将把模型类放在ValueStack的顶部,而不是action类实例,然后“name”参数将映射到模型实例上

将模型/数据关注点从操作/控制关注点分离到另一个类中,将使代码更具可读性和可维护性。当然,如果只有(比如)一个参数,那么将其拆分为单独的类将是愚蠢的。超过2或3个参数,但是,你会受益于分离