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