2

考虑以下三个类,C是B的子类。B是A的字段。如何将包含C类实例的A类实例作为其字段,从JSP页面传递给Spring Controller方法?

class A{
     private B b;
     public B getB(){return b;}
     public void setB( B b){ this.b = b;}
}

class B{
     private int id;     
     public int getId(){return id;}
     public void setId(int id){this.id = id;}
}
class C extends B{
     private name;
     public String getName(){return name;}
     public void setName(String name){this.name = name;}
}

示例 Spring 控制器:

@Controller
public class Handler{
     @RequestMapping("/work")
     public String work(@RequestParam( "objA" ) A objA ){
         if( C.getClass().isInstance( objA.getB() ) ){
               System.out.println("It works.");
          }
     }
}

假定的 JSP 页面但不起作用:

<form method="post" action="work" commandName="objA" >

        <input type="submit" value="submit" /><br/>

        <input type="hidden" name="b.name" value="name" /><br/>
        <input type="hidden" name="b.id" value="1" /><br/>
</form>
4

1 回答 1

1

我认为我们可以使用 Jackson 来绑定数据。那么我们可以把它当成Jackson 多态类型处理问题 这里有一个关于如何在 Spring mvc 上下文中使用 Jackson 和 ajax的链接。

于 2012-10-18T03:32:45.027 回答