(crm笔记2-1)struts2层与前端页面的连接

来源:互联网 发布:linux查cpu核数 编辑:程序博客网 时间:2024/05/17 04:14

struts2层与前端页面的连接


目标



前面已经实现在页面中点击触发 action 中的事件,也实现了将页面对象 vo 传入到数据库中,但是如果有很多按钮那么怎么实现 struts2 层与整个前端 Jsp 页面的连接呢?

【方案】:这里其实很简单,只需要将所有新增的前端页面与Action和struts2.xml文件配置一下就行。


【例如】:我们在页面增加一个新增按钮,我们希望,新增-按钮能够实现跳转到一个新的页面,新的页面里面能够进行表单数据的填写,填写完成后能够有保存按钮,将数据保存到数据库中。


按钮:

这里写图片描述



跳转页面:

这里写图片描述

现在我们来实现这个功能:首先在前端jsp页面中找到-新增-这个按钮的代码,

    <button type='button' class='button' onMouseOver="this.className='button_over';" onMouseOut="this.className='button';"              onClick="forward('${pageContext.request.contextPath}/sys/add.jsp')">            <img src="${pageContext.request.contextPath}/ui/images/button/xinjian.png" border='0' align='absmiddle'>&nbsp;新建</button>



这里要将其出发的点击事件改为触发 Action 事件:

onClick="forward('${pageContext.request.contextPath}/sys/sysUserGroupAction_add.do')">



这样点击事件就可以触发 sysUserGroupAction.java 中的 add 方法,为什么呢?

这是因为我们在struts2.xml中对此 Action 进行了配置:

<action name="sysUserGroupAction_*"



这里所有下划线“_”后面接的都将是 Action.java 中的方法,所以新增add方法:

    public String add(){        return "add";    }



这样就能够触发这个add方法,然后在Action中进行相应的页面的配置:

<result name="add">/sys/group/add.jsp</result>



这样就在处理完后转到add.jsp页面了,这个页面就是我们所需要的表单页面了。

然后点击保存,就可以利用相同的方式。


思路:

1、找到前端页面按钮的触发事件,改成xxAction_xx do这样的形式
2、再在Action中添加xx这个方法如:save(),返回一个字符串,对应到struts2.xml中的页面

已上便是struts2层和前端的结合,后面所有的前端增加的方法和按钮都需要先经过struts2这层才能调用业务层的代码。