gpt4 book ai didi

java - 第二次调用时如何访问 Spring Controller 方法中的参数

转载 作者:行者123 更新时间:2023-11-30 03:41:56 25 4
gpt4 key购买 nike

我的 Controller 中有 updateNewPassword() ,它第一次从请求中获取 hString ,当第二次调用时,我需要访问 hString 再次将其添加到 ModelAndView 对象 mav 之前的 return 语句,如下所示,但在第二次调用 updateNewPassword() 时得到 hString为空。有人可以帮我解决这个问题吗?

我使用 Spring MVC 4 和 JDK 7

@RequestMapping(method = { RequestMethod.GET, RequestMethod.POST })
public ModelAndView updateNewPassword(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
getCurrentRequestProperties().put(CurrentRequestProperties.IS_VALID_REQUEST, true);

ModelAndView mav = new ModelAndView();
String hString = request.getParameter("hString");
String newPassword = request.getParameter("newPassword");
String confirmPassword = request.getParameter("confirmPassword");

if (StringUtils.isNotEmpty(newPassword) || StringUtils.isNotEmpty(confirmPassword))
{
UserSecurityQuestions qRecord = api.search.query(UserSecurityQuestions.class,
api.search.property("hashString").eq(hString)).first();
if (qRecord != null && !qRecord.isValidRequest())
{
mav.addObject("failedMessage", "forgot.url.expired");
}
else
{
// updates the password
}
} else {
mav.addObject("hString", hString);
mav.addObject("notimeout", true);
}
return mav;
}

最佳答案

need to access hString again so am adding it to ModelAndView object mav before return statement as below but on the second call to updateNewPassword() am getting hString as null.

当您将其添加到模型时。它仅在当前请求有效之前可用(即,仅在您的 View 渲染之前)。

所以它返回了 null 。如果您希望该变量在进一步的请求中可用,您可以将其存储在 session 中。

关于java - 第二次调用时如何访问 Spring Controller 方法中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26640837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com