码迷,mamicode.com
首页 > 其他好文 > 详细

SSH简单的增删改查逻辑流程

时间:2016-01-15 06:22:50      阅读:1142      评论:0      收藏:0      [点我收藏+]

标签:

   自学了一段时间的java了,最近开始自己做点小项目练手了,争取每做一些,总结一些,顺便复习以前所学的知识。今天遇到一个bug调了2个小时,

醉了,菜鸟调试bug,内心真的是有一亿个草泥马在奔腾啊!不过真的挺喜欢程序里面的逻辑线条的。

 

一. 整个MVC逻辑流程(以增加为例)

1.Jsp页面:用js实现表单中增加的方法doAdd(),单击增加按钮时则触发doAdd()方法提交表单到${basePath}nsfw/user_addUI.action这个地址

function doAdd(){
        document.forms[0].action="${basePath}nsfw/user_addUI.action";
        document.forms[0].submit();
    }

<form name="form1" action="" method="post" enctype="multipart/form-data">

   <input type="button" value="新增" class="s_button" onclick="doAdd()"/>&nbsp;

</form>

 

2.Action类:(1)获取jsp页面提交过来的数据,并封装成对象 (自动由Struts2调用对象的set方法做) (2)调用service,把封装好的对象传给Service处理业务逻辑

 

3.service层:调用Dao层与数据库进行交互 如果是查询操作会返回一个对象

 

4.Action类:拿到返回的对象,保存在域对象中。跳转到JSP页面

 

5.JSP:用el表达式从域对象中获取查询到的对象,动态的给各个标签赋值,就这样响应给用户。

 

二.页面跳转的逻辑

1.一般情况下,会有三个页面(如下图):用户列表展示页面listUI,用户新增操作页面addUI,用户编辑操作页面editUI

2.三个页面中有7个有关增删改查的按钮代表7个action。

3.展示所有用户:action调用findObjects()方法,在数据库中查询并返回所有用户,跳转到列表展示页的JSP中,展示所有用户。

4.新增操作:点击新增按钮,action直接跳转的用户新增操作页面,点击保存,action调用save(user)方法将新用户保存到数据库中,再重定向到展示所有用户的action,

查询所有用户展示

5.编辑操作:点击编辑按钮,action调用findObjectById(user.getId())的方法,在数据库中查询并返回指定用户,跳转到编辑操作页面JSP中,展示出该用户。

修改后点击保存,更新action会将用户新的属性更新到数据库中,最后重定向到展示所有用户的action。

6删除操作:点击删除按钮,action调用delete(user.getId())方法,在数据库中删除指定用户。重定向到展示所有用户的action。

 

public class UserAction extends ActionSupport {
    @Resource
    private UserService userService;
    private List<User> userList;
    private User user;
    private String[] selectedRow;


    //列表页面
    public String listUI(){
        userList=userService.findObjects();
        return "listUI";
    }
    //跳转到新增页面
    public String addUI(){
        return "addUI";
    }
    //保存新增
    public String add(){
        if(user!=null){
            userService.save(user);
        }
        return "list";
    }
    //跳转到编辑页面
    public String editUI(){
        if (user!=null && user.getId()!=null) {
            user = userService.findObjectById(user.getId());
        }
        return "editUI";
    }
    //保存编辑
    public String edit(){
        if(user!=null){
            userService.update(user);
        }
        return "list";
    }
    //删除
    public String delete(){
        if (user!=null && user.getId()!=null) {
            userService.delete(user.getId());
        }
        return "list";
    }
    //批量删除
    public String deleteSelected(){
        if(selectedRow!=null){
            for(String id:selectedRow){
                userService.delete(id);
            }
        }
        return "list";
    }
   

技术分享

 

 

 

 

技术分享

 

技术分享

 

SSH简单的增删改查逻辑流程

标签:

原文地址:http://www.cnblogs.com/DaCheng91/p/5132158.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!