たとえば、従業員情報を追加する場合、従業員によって割り当てられた部門名を選択する必要があります。この部門名は、従業員情報を追加するためのフォームに書き込むことはできません。部門が撤回されたら、フロントデスクページで変更する必要があります。フォームフォームの部門情報。現在開いている部門を部門テーブルから動的に取得して、部門情報がフォームに自動的に表示され、従業員情報が追加されるようにする必要があります。
この機能を実現するにはどうすればよいですか?ユーザーが新しい従業員情報をクリックすると、バックグラウンドで実行される順序は、最初に部門テーブルの部門番号と部門名をクエリし、次にクエリ結果をList <Dept>にカプセル化してから、結果は、従業員情報が追加されたフォームページに返されます。
私たちはまだ前の記事に基づいて書いています:https: //blog.csdn.net/weixin_42629433/article/details/83379538
以下の特定のデモンストレーション操作を実行しましょう。
1.ユーザーが新しい従業員情報リクエストをクリックします。
<button type="button" class="btn btn-default" title="新建" onclick="location.href='${pageContext.request.contextPath}/dept/findDeptIdsAndDeptNames.do'">
<i class="fa fa-file-o"></i> 新建
</button>
2.バックグラウンドは、部門テーブルの部門番号と部門名を照会する要求を受け取ります
コントローラ層:
@RequestMapping("/findDeptIdsAndDeptNames.do")
public ModelAndView findDeptId(){
ModelAndView mv = new ModelAndView();
List<Dept> deptIdsAndDeptNames = deptService.findDeptIdsAndDeptNames();
System.out.println(deptIdsAndDeptNames);
mv.addObject("deptIdsAndDeptNamesList", deptIdsAndDeptNames);
mv.setViewName("emp-add");
return mv;
}
サービス層インターフェース:
//查询所有 deptId 和对应的 deptName
public List<Dept> findDeptIdsAndDeptNames();
サービス層インターフェース実装クラス:
public List<Dept> findDeptIdsAndDeptNames() {
return deptDao.findDeptIdsAndDeptNames();
}
Daoレイヤーインターフェイス:
//查询所有 deptId 和对应的 deptName
@Select("select id,deptName from dept where deptStatus = 1")
public List<Dept> findDeptIdsAndDeptNames();
3.従業員情報ページを追加します
フロントデスクは、バックエンドコントローラレイヤーのModelAndViewビューを取得し、ビューで照会された部門番号と部門名のセットを運び、従業員情報の追加を指定するビューページにジャンプします。フロントデスク選択部門での変更は次のとおりです。次のように:
<div class="col-md-2 title">部门</div>
<div class="col-md-4 data">
<select id="deptId" class="form-control select2" style="width: 100%" name="deptId">
<option value="noSelect" selected="selected"><--请选择--></option>
<c:forEach items="${deptIdsAndDeptNamesList}" var="Dept">
<option value=${Dept.id}>${Dept.deptName}</option>
</c:forEach>
</select>
</div>
コードのダウンロード:https: //pan.baidu.com/s/1M_VVsq4oWbucaESeqmxjug
***このコードはjdk1.8で実行および使用する必要があります***