我总是想知道为什么Servlet API中没有removeParameters()方法.这个设计背后的动机可能是什么?这是一个场景:我在一个我不得不使用的专有MVC框架中遇到了挑战.这个框架使用一个Controller Servlet,在它的post方法中托管一个算法:
doPost() {
//create instance of action - just like struts action
action.init
action.preexecution
if(redirection state is not set)
action.process
action.postprocess
action.finish
}
Run Code Online (Sandbox Code Playgroud)
我可以跳过任何特定操作的过程的唯一方法是设置重定向URL.Controller Servlet是FINAL.现在,当我从一个动作的预执行方法执行requestdispatcher.forward时,控制器将继续执行其余的方法,而不是跳过其余的方法.我不能改变这种行为,也不能设置重定向,因为我需要做一个前进.只要我没有将请求转发给同一个动作,它就可以正常工作.当请求转发到同一操作时,http参数都是相同的.这将把它带入一个永无止境的循环.因此,我被迫添加额外的参数,表明它是一个重复请求,应该区别对待.不确定我的问题是否有意义,但认为这是一个发布相同的好论坛.
| 归档时间: |
|
| 查看次数: |
243 次 |
| 最近记录: |