首页 > 解决方案 > Playframework 2.6.x FormUrlEncoded 在发布操作中返回空值

问题描述

我尝试使用 request().body().asFormUrlEncoded().get("RolesItems"); 提取一些多变量值

但它似乎在这里返回一个值:

//DELETE Roles from Sysuser

public Result DeleteRoles(Long id) 
{
  String[] postAction = request().body().asFormUrlEncoded().get("RolesItems");  
  Logger.info("Post Action is not null : "+postAction);

但是,在更新方法中,发布操作似乎为 NULL,我不知道为什么?

public CompletionStage<Result> update(Long id) throws PersistenceException {

String[] postAction = request().body().asFormUrlEncoded().get("RolesItems");               
Logger.info("Post Action is null : "+postAction);       
        Form<Sysuser> sysuserForm = formFactory.form(Sysuser.class).bindFromRequest();  
        if (sysuserForm.hasErrors()) {

我的路线:

POST    /sysusers/:id                  controllers.SysuserController.update(id:Long)
POST    /DelRoles/:id                  controllers.SysuserController.DeleteRoles(id:Long)

我的模型:

@Entity 
public class Sysuser extends BaseModel {

    @Constraints.Required
    public String username;

    @ManyToMany(cascade=CascadeType.ALL)
    public List<Role> roles;

请问有什么想法吗?

或者可能有另一种方法可以从 bindFromRequest 获取多字段值?太感谢了

标签: javaplayframeworkebean

解决方案


推荐阅读