SoybeanMilk-1.0-b2发布

SoybeanMilk-1.0-b2有两个改进:
  • 增加了RESTful支持
  • 增加了集合类转换支持

您可以点击 这里 这里了解更多,或者直接点击 这里 下载试用。

1. RESTful支持介绍
现在你可以像下面这样声明动作:
<action name="/user/{request.userId}/edit">
    <invoke> userManager.edit(request.userId) </invoke>
    <target url="/user/{request.userId}/view" type="redirect" />
</action>

这个动作将可以处理诸如“ /user/jack/edit ”、“ /user/tom/edit ”之类的请求。
比如对于“ /user/jack/edit ”请求,框架将首先执行
userManager.edit("jack");

然后转向“ /user/jack/view ”页面。

2. 集合类转换支持
假设有如下复杂的业务模型:
class User{
 private Integer id;
 private String name;
 private List<Product> listProperty;
 private Set<Product> setProperty;
 private Product[] arrayProperty;
 ...
}

class Product{
 private Integer id;
 private String name;
 ...
}

class UserManager{
 public void saveUser(User user){...}
}

如果你声明如下动作:
<action name="/user/save.do">
    <invoke> userManager.saveUser(param) </invoke>
</action>

那么,它将可以直接处理如下表单:
<form action="/user/save.do" method="POST">
  <input type="text" name="id" value="1" />
  <input type="text" name="name" value="jack" />
  <!--listProperty属性-->
  <input type="text" name="listProperty.id" value="11" />
  <input type="text" name="listProperty.name" value="p1" />
  <input type="text" name="listProperty.id" value="12" />
  <input type="text" name="listProperty.name" value="p2" />
  <!--setProperty属性-->
  <input type="text" name="setProperty.id" value="11" />
  <input type="text" name="setProperty.name" value="p1" />
  <input type="text" name="setProperty.id" value="12" />
  <input type="text" name="setProperty.name" value="p2" />
  <!--arrayProperty属性-->
  <input type="text" name="arrayProperty.id" value="11" />
  <input type="text" name="arrayProperty.name" value="p1" />
  <input type="text" name="arrayProperty.id" value="12" />
  <input type="text" name="arrayProperty.name" value="p2" />
</form>

框架会依据这个表单正确地构建一个 User类的对象,然后将它传递给 UserManager类的 saveUser(User user)方法。
.

你可能感兴趣的:(spring,框架,mvc,Google,REST)