j2ee中mvc层的作用是什么啊?struts2里的action里应该写什么业务逻辑

 我来答
大沈他次苹0B
2010-12-09 · TA获得超过7323个赞
知道大有可为答主
回答量:3059
采纳率:100%
帮助的人:177万
展开全部
mvc 你也知道是三层架构 第一个问题 就是使 jsp 只负责页面的输出和显示 还有数据的提交
so
别的任务它就不管了 其实jsp 可以做action(控制器)用 数据库连接的东西等等也都可以写到里面 只用jsp就可以完全实现 但是为了代码的层次性 和 可维护性 可升级性 等等 才给他们划分了界限 也便于分布式开发 ,和使得开发达到专一高效等。
第二个问题 struts2 的action 只写业务逻辑,但不写业务的实现,什么意思?看下action 的这非常简单的个方法
@Override
public String execute() throws Exception {
CunGui_List = jhCunGuiTService.findByPageString(this.name,getPagel());
return super.execute();
}
这个方法是action 默认的方法 这里我要从这里跳到显示列表的页面
所以用了一个list集合 CunGui_List , 后面是通过service的方法去获得内容,
上面说过action只写业务逻辑,但不写业务的实现,所以list的值是怎样具体实现获得的,那action就不管了,交给别的层的类去实现了。
这里action的execute()说我要用list,list说service把结果给我,然后service( jhCunGuiTService) 就调用相应的方法把结果拿来了,execute()的list就是个业务,因为我要用到数据集合所以要放到一个list里,业务逻辑呢? list 得到了,那action.execute()走完了,上哪跳呢? execute() 里面拿到list 以后 再通过
return super.execute(); 去验证配置文件获得跳转的路径,就会跳到相应的 jsp页面,然后显示list的内容了。这样就实现了业务逻辑,这个例子比较简单。return super.execute(); super.execute(); 是父类的一个方法,相当于返回的是一个字符创相当于"SUCCESS";
这里的return super.execute(); =return "SUCCESS";
所以 jsp 显示页面 提交数据的时候 要请求action ,需要页面跳转的时候请求action,
需要获取数据显示的时候 等等。。。。 所有的事情没有绝对的,分层的原因也和你说了。 看下简单流程:
a.jsp---->action---->b.jsp a.jsp---->提交数据---->action处理---->b.jsp
请求数据---->action获得数据---->jsp页面
多看多练用的多了就知道了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式