struts接收参数问题
我们都知道,在用struts2时,页面往后台Action传数据时,Action类中要有相应的属性或javaBean来接受这些参数。我总结的接收参数的方式有一下几种,不知道那种方式好,希望大家探讨一下:方式一:在Action中,直接用mode类(对应数据库表)接收。这种方式我感觉有几点不太舒服,第一点是和Hibernate结合时,model类是和数据库表对应的,只是从页面往后台传个参数用model类感觉不舒服。第二点是页面传的参数往往不是一个model类就能封装的了的,所以Action类中就会有好多个model类来接受参数,在用参数时还得从某个model类里找,很混乱。
方式二:单独封装一个包含所有参数的javabean,这个javaBean包含所有有可能的参数,所有页面传递的参数都用这一个javaBean接收。这样Action层的代码就相对清晰一点,所以的参数都去这个javaBean中找。很少见项目用这种方式,是这种方式有什么缺陷吗?
哪种方式好呢?大家探讨一下。或是大家的项目中用的哪种方式感觉比较好,和大家分享一下。 --------------------编程问答-------------------- 都行,看自己的爱好吧!第二种方式的缺陷是需要多定义一个javabean,所以用得少! --------------------编程问答-------------------- 直接用 request.getParameter("")接收 --------------------编程问答-------------------- 其实用model的方法不错,实在不行,你就定一个VO的model,然后和PO交换数据就行。第二种方式,这个javabean太大了吧,不推荐这种。而且一样要交换数据的。 --------------------编程问答-------------------- 只用一个javabean接收全部数据不太合适。建议你可以提取一个具有共性的公共model出来,然后其他model封装自己的专属属性之后继承该公共model。 --------------------编程问答-------------------- 哪种方便用哪种,多数情况第一种方法就能搞定问题了。 --------------------编程问答-------------------- 看项目需要,要是大量页面都是lz说的这种情况的话,第二种想法是可行的;要是只是部分页面的话,第一种方法更好一些。
缺陷的话,页面参数都经过这个javabean,对那些简单页面或只有一个表的model数据的情况下会显得多此一举,当然规范吗,就是要损耗效率的。。呵呵 --------------------编程问答-------------------- 哪个方便用哪个吧 看实际需要。。。 --------------------编程问答-------------------- 用第一种方法的时候多吧。 --------------------编程问答-------------------- 面向对象的思维哦 本来你页面上传过来的就是一个个对象 你何必把他硬拼凑成一个新对象呢
一般的功能也不会有太多这种实体的
补充:Java , Java EE