简体   繁体   English

Spring MVC如何将请求参数绑定到Controller属性,如struts2

[英]Spring mvc How to bind request parameter to Controller attribute , like struts2

In Spring MVC, it is easy to bind request parameter to method paramaters handling the request. 在Spring MVC中,很容易将请求参数绑定到处理请求的方法参数。 I just use @RequestParam 我只是使用@RequestParam

@Controller
public class ConfirmOrderAction {
       public String toConfirmOrder(@RequestParam String itemIds){
       } 
}

but i hope like this 但我希望这样

@Controller
public class ConfirmOrderAction {
       @RequestParam
       private String itemIds;
       getItemIds(){}
       setItemIds(){}
       public String toConfirmOrder(){} 
}

like struts2 像struts2

This is not possible with Spring's @RequestParam annotation: 使用Spring的@RequestParam批注是不可能的:

@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequestParam {
 ...
}

This means @RequestParam can only be used on method parameters. 这意味着@RequestParam仅可用于方法参数。

Do not forget that Spring controllers are singletons by default (one instance is shared by multiple requests). 不要忘记,Spring控制器默认是单例的(一个实例被多个请求共享)。 So it would be a bad idea to bind request parameters to instance fields. 因此,将请求参数绑定到实例字段将是一个坏主意。

Struts2怎么绑定设置<object>从视图返回到 controller<div id="text_translate"><p> 假设我的 controller 看起来像这样:</p><pre> public class myController { private MyCustomItem acte; ... // getter and setter }</pre><p> 和MyCustomItem class 有一组另一个 class,像这样</p><pre>public class MyCustomItem { private Set&lt;AnotherClass&gt; signataires; ... // getter and setter }</pre><p> 最后, AnotherClass项具有一些 String 属性。</p><p> 我想要做的是,从链接到我的 controller 的视图中,在我提交表单时设置那些字符串属性,所以我写了我的view.jsp ,如下所示:</p><pre> &lt;:-- some html before --&gt; &lt;s:form namespace="/my/namespace" action="MyController_execute"&gt; &lt;s.iterator value="acte:signataires" status="signaStatus"&gt; &lt;s:hidden name="id" value="%{id}" /&gt; &lt;s.property value="collectivite:nom"/&gt; &lt;s.textfield name="acte.signataires(%{#signaStatus.index}):commentaire" cssStyle="width;250px:"/&gt; &lt;/s:iterator&gt; &lt;s:submit/&gt; &lt;/s:form&gt;</pre><p> 在我提交表格后,如果我尝试从我的 Set&lt;&gt; acte.signataires中获取一些值,则在我的 controller 中,它们是 null:</p><pre> for (AnotherClass signataire: acte.getSignataires()) { System.out.println(signataire.getCommentaire()); // this print NULL }</pre><p> 有什么帮助吗? 我的 jsp 映射不好吗? 我还尝试了一个非常简单的语法,例如&lt;s:textfield name="commentaire" cssStyle="width:250px;"/&gt;但它也不起作用</p></div></object> - Struts2 how to bind Set<Object> from view back to controller

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Spring MVC:将请求属性绑定到控制器方法参数 - Spring MVC: bind request attribute to controller method parameter Struts2怎么绑定设置<object>从视图返回到 controller<div id="text_translate"><p> 假设我的 controller 看起来像这样:</p><pre> public class myController { private MyCustomItem acte; ... // getter and setter }</pre><p> 和MyCustomItem class 有一组另一个 class,像这样</p><pre>public class MyCustomItem { private Set&lt;AnotherClass&gt; signataires; ... // getter and setter }</pre><p> 最后, AnotherClass项具有一些 String 属性。</p><p> 我想要做的是,从链接到我的 controller 的视图中,在我提交表单时设置那些字符串属性,所以我写了我的view.jsp ,如下所示:</p><pre> &lt;:-- some html before --&gt; &lt;s:form namespace="/my/namespace" action="MyController_execute"&gt; &lt;s.iterator value="acte:signataires" status="signaStatus"&gt; &lt;s:hidden name="id" value="%{id}" /&gt; &lt;s.property value="collectivite:nom"/&gt; &lt;s.textfield name="acte.signataires(%{#signaStatus.index}):commentaire" cssStyle="width;250px:"/&gt; &lt;/s:iterator&gt; &lt;s:submit/&gt; &lt;/s:form&gt;</pre><p> 在我提交表格后,如果我尝试从我的 Set&lt;&gt; acte.signataires中获取一些值,则在我的 controller 中,它们是 null:</p><pre> for (AnotherClass signataire: acte.getSignataires()) { System.out.println(signataire.getCommentaire()); // this print NULL }</pre><p> 有什么帮助吗? 我的 jsp 映射不好吗? 我还尝试了一个非常简单的语法,例如&lt;s:textfield name="commentaire" cssStyle="width:250px;"/&gt;但它也不起作用</p></div></object> - Struts2 how to bind Set<Object> from view back to controller 用于struts2 + spring MVC的ServletActionContext - ServletActionContext for struts2 + spring MVC 用Spring MVC替换Struts2 - Replacing Struts2 with spring mvc 如何在struts2中将请求属性从一个动作传递给另一个动作 - How to pass request attribute from one action to another in struts2 如何将请求参数映射到struts2中具有不同名称的bean - How to map request parameter to a bean with different name in struts2 如果标记,我如何在struts2中使用请求参数 - how can i use request parameter in struts2 if tag 如何在Spring MVC中访问另一个控制器中一个控制器的请求参数? - How to access the request parameter of one controller in a different controller in Spring MVC? 在Struts2拦截器中更改请求参数值 - Changing request parameter value in Struts2 interceptor 用Java上传图片(struts2 / struts1 / spring mvc) - Image Upload in java (struts2/struts1/spring mvc)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM