SaaS-Export第二天


一. 部署UI资源

1. 将项目页面复制到我的工程目录下

 

2. 打开index.jsp发现代码如图:

 

 发现如果访问index.jsp会跳转到login.do,所以需要在LoginController中编写代码,让页面跳转到主页面(main.jsp)

 

 代码如下(别忘了在类上加上@Controller注解):

@Controller
public class LoginController {

    /**
     * 执行流程
     * 1.访问首页
     *      http:localhost:8080/index.jsp
     * 2. index.jsp
     *      location.href = "login.do"
     * 3. 转发到main.jsp
     */
    @RequestMapping("/login")
    public String login() {

        // 目前默认登录成功跳转到主页main.jsp
        return "home/main";
    }
}

页面将会跳转到main.jsp

 

 

 

代码如下:

 

 

 

 LoginController代码如下:

 测试效果:

 

 对于iframe标签:

 

 二. 添加企业

 

 点击新建按钮会跳转到company-add.jsp(显示的数据代码见昨天的代码)

 

 进入company-add.jsp中会发现,此表单的action为:

 

 

 

 所以需要在CompanyController处理此请求:

/**
     * 进入添加页面
     * 功能入口: 企业列表点击新建
     * 请求地址:http:localhost:8080/company/toAdd.do
     * 响应地址: /WEB-INF/pages/company/company-add.jsp
     *
     * @return
     */
    @RequestMapping("toAdd")
    public String toAdd() {
        return "company/company-add";
    }

测试结果:

 

 

 成功跳转到添加页面

查看company-add.jsp页面发现最后表单的提交地址为:

 

 

 在CompanyController中处理请求:

/**
     * 添加企业/修改企业
     *
     * @param company
     * @return
     */
    @RequestMapping("edit")
    public String edit(Company company) {

        // 根据id判断是添加还是修改
        if (StringUtils.isEmpty(company.getId())) {

            // 如果id是null
            companyService.save(company);
        } else {

            // 如果id不是null
            companyService.update(company);
        }

        // 添加成功,重定向到list界面
        return "redirect:/company/list.do";
    }

在此代码中处理了两个请求,一个是添加企业,另一个是修改企业(点击编辑按钮之后的保存按钮)

根据是否请求是否有id来判断是哪个请求,添加企业是没有id的,但是修改企业是有id的。最后在service和dao中编写方法,以及在mapper映射文件中配置

CompanyService代码:

/**
     * 保存用户
     * @param company
     */
    void save(Company company);

    /**
     * 修改用户
     * @param company
     */
    void update(Company company);

 

CompanyServiceImpl代码:

/**
     * 保存用户
     * @param company
     */
    @Override
    public void save(Company company) {
        // 设置主键值
        company.setId(UUID.randomUUID().toString());
        companyDao.save(company);
    }

    /**
     * 修改用户
     * @param company
     */
    @Override
    public void update(Company company) {
        companyDao.update(company);
    }
其中save()方法中要设置主键存入数据库,因为如果不设置主键,第一次添加可以,但是第二次不行,因为主键会重复
所以直接在save()中设置主键

UUID.randomUUID()可以得到一个32位的全球唯一随机码

 

dao接口代码:

/**
     * 保存用户
     * @param company
     */
    void save(Company company);

    /**
     * 修改用户
     * @param company
     */
    void update(Company company);

dao.xml配置文件代码:

<!--保存企业-->
    <insert id="save">
        insert into ss_company
      (
        expiration_date,
        id,
        name,
        address,
        license_id,
        representative,
        phone,
        company_size,
        industry,
        remarks,
        state,
        balance,
        city
      )
      VALUES
      (
        #{expirationDate},
        #{id},
        #{name},
        #{address},
        #{licenseId},
        #{representative},
        #{phone},
        #{companySize},
        #{industry},
        #{remarks},
        #{state},
        #{balance},
        #{city}
      )
    </insert>

    <!--更新企业-->
    <update id="update">
        update ss_company
      set
        expiration_date=#{expirationDate},
        name=#{name},
        address=#{address},
        license_id=#{licenseId},
        representative=#{representative},
        phone=#{phone},
        company_size=#{companySize},
        industry=#{industry},
        remarks=#{remarks},
        state=#{state},
        balance=#{balance},
        city=#{city}
      where id=#{id}
    </update>

页面测试结果:

 

 

 

企业修改

 

 

 查看company-list.jsp页面发现:

 

 

 在CompanyController中处理请求:

/**
     * 进入修改页面
     * 功能入口:company-list.jsp 列表点击编辑
     * 请求地址: http://localhost:8080/company/toUpdate.do
     * 请求参数:id  修改企业的id
     * 响应地址: /WEB-INF/pages/company/company-update.jsp
     */
    @RequestMapping("toUpdate")
    public String toUpdate(String id, Model model) {

        // 根据企业id查询
        Company company = companyService.findById(id);

        // 保存
        model.addAttribute("company", company);

        // 转发
        return "company/company-update";
    }

service代码:

/**
     * 根据企业id查询企业
     * @param id
     * @return
     */
    Company findById(String id);

CompanyServiceImpl代码:

/**
     * 根据企业id查询企业
     * @param id
     * @return
     */
    @Override
    public Company findById(String id) {
        return companyDao.findById(id);
    }

dao代码:

/**
     * 根据企业id查询企业
     * @param id
     * @return
     */
    Company findById(String id);

mapper映射文件代码:

<!--根据企业id查询企业-->
    <select id="findById" resultMap="BaseResultMap">
        SELECT * FROM ss_company WHERE id=#{id}
    </select>

页面测试结果:

 

 

 保存修改操作在上面已经做了!

删除企业

 

 

 查看company-list.jsp页面代码发现:

 

 

 

 

 

 

在CompanyController中处理请求:

/**
     * 删除企业
     * 功能入口: company-list.jsp
     * 请求地址:http://localhost:8080/company/delete.do?id=............
     */
    @RequestMapping("delete")
    public String delete(String id) {

        // 根据id删除企业
        companyService.delete(id);

        return "redirect:/company/list.do";
    }

service代码:

/**
     * 根据id删除企业
     * @param id
     */
    void delete(String id);

CompanyServiceImpl代码:

/**
     * 根据id删除企业
     * @param id
     */
    @Override
    public void delete(String id) {
        companyDao.delete(id);
    }

dao层代码:

/**
     * 根据id删除企业
     * @param id
     */
    void delete(String id);

 

mapper映射文件代码:

<!--根据id删除企业-->
    <delete id="delete">
        DELETE FROM ss_company WHERE id=#{id}
    </delete>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM