gpt4 book ai didi

java - spring中不同html页面和 Controller 之间传递数据

转载 作者:行者123 更新时间:2023-12-02 10:14:24 25 4
gpt4 key购买 nike

嗨,我是 Spring 新手,在使用两个不同的 Controller 在两个页面之间传递数据时遇到问题。我想知道我该如何处理这种情况。在我的 index.html 中,我有一个按钮,可以将我重定向到传递一些数据的新页面。当我单击该按钮时,它会将我重定向到第 2 步页面,但我不必反对。我该如何解决这个问题? GET方法是否正确?我是否必须使用表单来在页面和 Controller 之间传递一些数据?以下是我所拥有的。

Index.html

<form th:action="@{/step2}" method="GET">
<input type="hidden" th:value="${mapSelectedServices}" name="mapSelectedServices"/>
<input type="hidden" th:value="${user}" name="loggedUser"/>
<div class="form-group d-flex align-items-center justify-content-between">
<button type="submit" class="btn btn-danger btn-rounded ml-auto" >SEE PRICES
<i class="fas fa-long-arrow-alt-right ml-2"></i>
</button>
</div>
</form>

Step2Controller

@RequestMapping(value="step2", method = RequestMethod.GET)
public ModelAndView step2(ModelAndView modelAndView, @ModelAttribute("user") User user,
@ModelAttribute("mapSelectedServices") HashMap<String,List<ServiceOffered>> mapSelectedServices,
BindingResult bindingResult){
modelAndView.addObject("user", user);
modelAndView.addObject("mapSelectedServices", mapSelectedServices);
modelAndView.setViewName("step2");
return modelAndView;
}

很抱歉提出所有问题,但我是 Spring 开发的新手。

最佳答案

HTML 页面:

<form th:action="@{/step2}" method="POST">
<input type="hidden" th:value="${mapSelectedServices}" name="mapSelectedServices"/>
<input type="hidden" th:value="${user}" name="loggedUser"/>
<div class="form-group d-flex align-items-center justify-content-between">
<button type="submit" class="btn btn-danger btn-rounded ml-auto" >SEE PRICES
<i class="fas fa-long-arrow-alt-right ml-2"></i>
</button>
</div>
</form>

Controller 方法:

     public ModelAndView goToPgae2(@ModelAttribute ModelClass aClass)
{

ModelAndView mv=new ModelAndView("SecondHtlmPageName");//setting view name here
mv.addAttribute("aClass",aClass);
return mv;
}

具有从一个页面传递到另一页面的特定变量的模型类:

  class ModelClass {

public Stirng mapSelectedServices; //use appropriate data type.
public String loggedUser;

//create getters and setters
}

第二页

<div>${aClass.loggedUser}</div>

完成。

这样您就可以转到第二页。如果您想重定向到第二页并且模型属性应该在那里可用,那么您需要使用 flashattribute

关于java - spring中不同html页面和 Controller 之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54782271/

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