Crowdfunding:Admin added

≯℡__Kan透↙ 提交于 2020-01-11 23:55:12

1、功能分析:

思路顺序:管理员点击新增超链接,handler通过view-controller跳转到表单界面,输入新增数据,点击新增保存按钮向AdminHandler,handler将执行创建账号的操作,具体操作业务将跳转到AdminService中去实现,进行密码加密,接着进行保存,保存可能失败抛异常。

保存结果将返回值返回给handler,如果失败会交给异常映射去处理,如果成功则重定向到分页操作。

2、跳转到表单页面

<a href="admin/to/add/page.html" class="btn btn-primary" style="float:right;"><i class="glyphicon glyphicon-plus"></i>新增</a>

3、view-controller配置

<mvc:view-controller path="/admin/to/add/page.html" view-name="admin-add"/>

4、创建admin-add.jsp

<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
    <ol class="breadcrumb">
        <li><a href="admin/to/main/page.html">首页</a></li>
        <li><a href="admin/query/for/search.html">数据列表</a></li>
        <li class="active">新增</li>
    </ol>
    <div class="panel panel-default">
        <div class="panel-heading">表单数据</div>
        <div class="panel-body">
            <form action="admin/save.html" method="post" role="form">
                <div class="form-group">
                    <label for="exampleInputPassword1">登录账号</label>
                    <input
                            type="text"
                            name="loginAcct"
                            class="form-control"
                            id="exampleInputPassword1"
                            placeholder="请输入登陆账号">
                </div>
                <div class="form-group">
                    <label for="exampleInputPassword1">登录密码</label>
                    <input
                            type="text"
                            name="userPswd"
                            class="form-control"
                            id="exampleInputPassword1"
                            placeholder="请输入登陆密码">
                </div>
                <div class="form-group">
                    <label for="exampleInputPassword1">用户昵称</label>
                    <input
                            type="text"
                            name="username"
                            class="form-control"
                            id="exampleInputPassword1"
                            placeholder="请输入用户昵称">
                </div>
                <div class="form-group">
                    <label for="exampleInputEmail1">邮箱地址</label>
                    <input
                            type="email"
                            name="email"
                            class="form-control"
                            id="exampleInputEmail1"
                            placeholder="请输入邮箱地址">
                    <p class="help-block label label-warning">请输入合法的邮箱地址, 格式为: xxxx@xxxx.com</p>
                </div>
                <button type="submit" class="btn btn-success"><i class="glyphicon glyphicon-plus"></i> 新增
                </button>
                <button type="reset" class="btn btn-danger"><i class="glyphicon glyphicon-refresh"></i> 重置
                </button>
            </form>
        </div>
    </div>
</div>

5、执行保存操作——提交表单

6、转换抛出的异常:

@RequestMapping("/admin/save")
public String saveAdmin(Admin admin){

    try{
        adminService.saveAdmin(admin);
    }catch (Exception e){
        if (e instanceof DuplicateKeyException){
            throw new RuntimeException(CrowdfundingConstant.MESSAGE_LOGIN_ACCT_ALREADY_IN_USE);
        }
    }

    return "admin-add";
}
public static final String MESSAGE_LOGIN_ACCT_ALREADY_IN_USE = "该用户名也被使用,请重新设定!";

7、添加成功跳转到列表并显示添加的最新记录

(方案1):跳转到分页最后一页

(方案2):分页页面显示数据时根据id降序排列

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!