我有这个“痒”我正在考虑编写一个过滤器,它将拦截请求并提取参数,然后将这些参数转换为属性,以便它们作为对象的类型到达BusinessLogic(BO)层是(例如Long,ObjectDTO,String等),目前我处理它的方式是BO接收请求提取参数,对nulls
执行验证并相应地将它们转换为适当的类型。我的新方法是一个更方便的方法,我已经阅读了这个The Essentials of Filters ,我也希望听到有关过滤器的更多用法,而不是文章中提到的那些。
我之所以这么想是因为在处理doGet
时,用户可以省略参数,所以我会使用过滤器设置它们,如果遗漏,有什么意见吗?
答案 0 :(得分:2)
许多Web框架都是这样做的。
例如,与许多其他函数一起,Struts过滤器确定请求调用的Action
。它使用反射来确定Action
的属性,它们是否可写,以及它们的类型。然后它处理每个参数的名称,如果它与操作的属性匹配,它会尝试将参数值强制转换为属性类型的实例。如果成功,则使用结果值设置Action
属性。正确配置Action
后,过滤器会调用它。
这个过程可能听起来很复杂,但实际上,我并没有对复杂程度做出公正的判断。我建议您在尝试编写自己的框架之前查看现有的Web框架可以为您做些什么。即使你没有预算,也喜欢通过痛苦的经验学习,研究其他框架将帮助你重新发明一个更好的自己的框架。