gpt4 book ai didi

java - Spring mvc : how to pass parameters in mvc without method arguments at the controller

转载 作者:行者123 更新时间:2023-11-30 17:16:04 25 4
gpt4 key购买 nike

我的任务是在方法签名处传递任何参数来创建我的 Controller 。我很困惑,因为这是一个很大的挑战,而且我还没有真正在网上看到任何例子。例如:从我的 jsp 页面。

    <form:form method="POST" action="/project/searchResults" id="productSearchResultsForm">
<input name="productRecord" id="productRecord" />
<input name="resultEntity" id="resultEntity" type="hidden" />
<input name="resultCode" id="resultCode" type="hidden" />
<button type="submit" class="btn btn-primary btn-lg">Submit</button>
</form:form>

我想将这三个输入传递给我的 Controller ,而无需在方法签名处使用 @RequestParameter 和 @ModelAttribute。截至目前,这是我知道如何执行此操作的唯一方法。

@RequestMapping(value = "/productSearch", method = RequestMethod.GET)
public ModelAndView init(@ModelAttribute ("showroomCode") String showroomCode, HttpServletRequest request) {


logger.info("<<<< initial page <<<<<<");
logger.info("Showroom Code : " + showroomCode);

HttpSession session = request.getSession();

ModelAndView model = new ModelAndView("productSearch", "command",
String.class);


ShowroomUser user = new ShowroomUser();
user.setUserId(1);
session.setAttribute("usersession", user);
session.setAttribute("showroomCode", showroomCode);

logger.info(">>>>> initial page >>>>> ");
return model;
}

我知道在 Struts 2 中,您可以只在 Action 类中声明全局变量,这样您就可以在方法中自动使用它们,而无需直接将它们放入方法签名中。有没有办法删除这个?

谢谢。

更新

我被要求不要在代码的任何地方使用 HttpServlet 请求和模型属性。 :(请帮忙!

最佳答案

1) 使用属性 productRecord、resultEntity、resultCode 创建一个 POJO 表单。 Ex MyForm.java

2) 在模型中设置此表单(在您的初始化方法中)例如:model.addAttribute("myForm", new MyForm())

3) 在您的 jsp 表单声明集中: <form:form commandName="myForm" >

4) 在你的 Controller 中(检索结果) @RequestMapping(value = "/productSearch", method = RequestMethod.POST)
public ModelAndView postForm(MyForm myForm, HttpServletRequest request) {...}

然后您可以使用 myForm.getProductRecord() 访问值例如。

关于java - Spring mvc : how to pass parameters in mvc without method arguments at the controller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26101420/

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