Play 2.4 (Java) - 在 validate 方法中访问 session
Posted
技术标签:
【中文标题】Play 2.4 (Java) - 在 validate 方法中访问 session【英文标题】:Play 2.4 (Java) - Access session in the validate method 【发布时间】:2016-05-30 21:18:43 【问题描述】:我正在开发一个密码更改模型,其中包含三个字段
当前密码 新密码 确认新密码在模型的 validate() 方法中,我希望能够通过会话范围获取登录用户,以便检查当前密码是否有效。有没有办法获得会话?或者也许有更好、更安全的方法来实现这一点?
public String validate()
//Check if current password is valid
if (newPassword == null || !newPassword.equals(newPasswordConfirm))
return "New passwords do not match";
return null;
【问题讨论】:
会话在控制器层可用。如果此方法在您的模型中,则需要将会话中所需的内容(即:userId)作为参数传递给 validate 方法。你需要解耦。不要尝试将会话传递给您的模型。 有道理,我现在已经这样做了。那不是通过会话 @c4k 如果您将其作为答案提交,我可以接受。 【参考方案1】:会话在控制器层中可用。如果此方法在您的模型中,则需要将会话中所需的内容(即:userId)作为参数传递给 validate 方法。你需要解耦。不要尝试将会话传递给您的模型。
【讨论】:
以上是关于Play 2.4 (Java) - 在 validate 方法中访问 session的主要内容,如果未能解决你的问题,请参考以下文章
在 Java Play 2.4 中测试具有模拟依赖项的控制器
IntelliJ IDEA 15 Play 2.4 反向路由方法参数“string cannot be applied to java.lang.String”