FrontPage > SAStrutsの覚書 > サンプルアプリ

削除機能

更新画面に削除機能を追加する。

1. jsp

  • editEmp.jsp
    削除ボタンを追加する。
    ・・・略・・・
       <c:choose>
           <c:when test="${id == null}">
               <input type="button" onclick="add(this, this.form)" value="登録"/>
           </c:when>
           <c:otherwise>
               <s:submit property="update" value="更新"/>
               <s:submit property="delete" onclick="return confirm('削除します。よろしいですか?');" value="削除"/>
           </c:otherwise>
       </c:choose>
    
    ・・・略・・・
  • deleteComp.jsp
    src/main/webapp/WEB-INF/view/editEmpフォルダへ削除完了画面を作成する。
    <%@page language="java" contentType="text/html; charset=UTF-8"
       pageEncoding="UTF-8"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title></title>
    <link rel="stylesheet" type="text/css"
       href="${f:url('/css/stylesheet.css')}">
    <script type="text/javascript">
    <!--
       function goBack(frm) {
           frm.action = '${f:url("/searchEmp/comeBack")}';
           frm.submit();
       }
    //-->
    </script>
    </head>
    <body>
       <s:form method="POST">
           <tiles:insert template="/WEB-INF/view/common/layout.jsp" flush="true">
               <tiles:put name="content_menu" type="string">
                   <c:if test='${fromPageName == "searchEmp" }'>
                       <input type="button" onclick="goBack(this.form)" value="戻る" />
                   </c:if>
               </tiles:put>
               <tiles:put name="content" type="string">
                   <div id="content" class="content_scroll">
                       <div class="message"><bean:message key="I001"/></div>
                       <table class="data" style="width: 300px;">
                           <tr>
                               <th class="data" style="width: 100px;">ID</th>
                               <td class="data" style="width: 150px;">${id}</td>
                           </tr>
                           <tr>
                               <th class="data">従業員番号</th>
                               <td class="data">${empNo}</td>
                           </tr>
                           <tr>
                               <th class="data">従業員名</th>
                               <td class="data">${empName}</td>
                           </tr>
                           <tr>
                               <th class="data">雇用日</th>
                               <td class="data">${hiredate}</td>
                           </tr>
                           <tr>
                               <th class="data">給与</th>
                               <td class="data">${sal}</td>
                           </tr>
                           <tr>
                               <th class="data">管理者ID</th>
                               <td class="data">${mgrId}</td>
                           </tr>
                           <tr>
                               <th class="data">部門名</th>
                               <td class="data">${deptName}</td>
                           </tr>
                       </table>
                       <html:hidden property="versionNo" />
                   </div>
                   <html:hidden property="empNoCondition" />
                   <html:hidden property="empNameCondition" />
                   <html:hidden property="hiredateMin" />
                   <html:hidden property="hiredateMax" />
                   <html:hidden property="deptIdCondition" />
                   <html:hidden property="page" />
                   <html:hidden property="fromPageName" />
               </tiles:put>
           </tiles:insert>
       </s:form>
    </body>
    </html>

2. メッセージ追加

  • application_ja.propertiesに以下のメッセージを追加する。
    I001=削除しました。

3. Actionフォーム

  • editEmpForm.javaへ削除完了画面で表示する組織名称のフィールドを追加する。
       public String deptName;
    

4. Action

  • editEmpAction.javaへ削除処理を追加する。
    ・・・略・・・
       @Execute(validator=false, input="echo")
       public String delete() {
           Emp emp = Beans.createAndCopy(Emp.class, editEmpForm).execute();
           try {
               empService.delete(emp);
               if (editEmpForm.deptId != null) {
                   Dept dept = deptService.findById(new Long(editEmpForm.deptId));
                   editEmpForm.deptName = dept.deptName;
               }
           } catch (OptimisticLockException e) {
               throw new ActionMessagesException("E003", true);
           }
           return "deleteComp.jsp";
       }
    ・・・略・・・
    

5. 実行結果

sassample11.jpg


sassample12.jpg





添付ファイル: filesassample12.jpg 434件 [詳細] filesassample11.jpg 455件 [詳細]

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-01-24 (火) 23:10:27 (2647d)