我有一个用户可以搜索帐户详细信息的场景,搜索结果将以表格格式显示,并带有pagnation(1,2 ..)。 在结果页面上,用户可以通过分页来回遍历,并可以在任何页面上更改帐户详细信息并提交相同的内容。 直到现在一切都很好。现在我想要的是在同一个搜索页面()上转发用户,并提交相同的搜索条件。
例如:用户搜索名称为“abc”的所有人的帐户详细信息,表格中有26行,因此系统将以10(第1页)-10的形式显示结果(第2页)-6(第3页)。
现在,用户转到第2页并输入一些值,然后在提交后点击提交,用户应转到第2页,并使用相同的标准(名称“abc”)。
请提供一些意见。
由于
答案 0 :(得分:0)
我用MVC拦截器解决了一个类似的(不同的)场景。
对我来说问题是,我有表格。如果用户在表单中输入了某些内容,并且该请求被接受,那么他通常会被重定向到相应的显示页面。 (REST模式)。但是,如果从特殊页面“调用”from,则有些形式应该表现不同。
示例:因此,如果用户转到页面“A”,从那里到带有表单的页面“F”,输入值并提交,然后他(在服务器中执行相应的操作之后)重定向到PAGE “S”。但是如果用户以页面“B”开头,则转到表单页面“F”,提交表单,然后他应该被重定向到“B”。
它以这种方式工作:
我有一个特殊的请求参数RETURN_ACTIVATE
此参数包含一个URL。 MVC拦截器检测当前请求是否具有此参数。 (为了便于使用,MVC拦截器还检查RETURN_ACTIVATE
是否退出,但是为空,然后用HTTP referer替换它的值。
RETURN_ACTIVATE
参数且Web控制器响应是重定向,则它会将重定向网址替换为RETURN_ACTIVATE
参数中的重定向网址RETURN_ACTIVATE
的值添加到模型中。它的值是RETURN_ACTIVATE
参数的值。在我的每个表单中,如果模型包含值RETURN_ACTIVATE
,则添加名为RETURN_ACTIVATE
的隐藏参数(隐藏参数的值当然是模型中的值)。
所以最后我需要做的就是让完整的东西运行,就是在页面“B”中添加一个没有值的参数,用户可以使用它来获取页面“F”。 <a href="f?RETURN_ACTIVATE">formPage</a>
然后MVC Interceptor将带有referer URL的参数添加到模型中,因为Controller返回Form的View。 JSP将隐藏值<input type="hidden" name="RETURN_ACTIVATE" value="b"/>
添加到表单中。
当用户提交表单,并且控制器响应重定向到“s”时,MVC Intercepter将“c”改为“b”。
所以我的解决方案有点复杂,因为用例更复杂,但我希望它能给你一些想法。