Spring MVC-动态更改/修改模型/会话属性

时间:2016-07-21 16:02:06

标签: jquery ajax spring jsp servlets

我是Spring MVC的新手,我遇到了以下问题:我在JSP中有一个下拉列表,该列表是从一个属性(从模型中检索)填充的,我在控制器中设置了。我还有一个输入框,用户可以使用该输入框在下拉列表中添加新选项。

我使用jquery ajax将输入框中输入的值发送到控制器处理程序,验证它并将其添加到模型中。完成此操作后,我希望使用此新值更新下拉列表,而不会刷新页面。我意识到这可以通过使用jquery(将更新的列表添加到select元素)来完成,但更愿意通过更改填充下拉列表的属性来实现,如果可能的话。

我尝试在创建jsp select元素中的视图和$ {mykey}的控制器处理程序中使用' session.setAttribute(" mykey"," listofvalues")检索它,一切正常。然后,我在处理程序中检索了会话属性,该属性将新值添加到列表中。但即使在更新控制器中的属性后,jsp下拉仍然显示旧列表。

我做错了吗?我想要做的就是在同一页面的下拉列表中添加新项目,而无需重定向/刷新页面。无论如何都要修改会话或模型属性并动态地看到jsp的变化吗?

感谢。

2 个答案:

答案 0 :(得分:1)

通过将Angularjs与Spring MVC集成来管理以获得所需的结果,如下所示:

http://websystique.com/springmvc/spring-mvc-4-angularjs-example/

答案 1 :(得分:0)

答案是yesno

  

Yes您可以动态更改或添加或删除会话对象中的值。

     

No呈现页面后无法重新呈现页面。

jsp页面在运行时呈现,然后发送回客户端计算机。所有的渲染都已经完成了。因此,即使您更改了会话数据,也不会在页面刷新之前反映出来。

您所能做的就是发送一个AJAX调用并使用jquery更新DOM。