SSH OAシステムの3つの詳細な問題
第一:「新規」をクリックすると、最上位部門ではなく現在の上位部門が表示されます.
parentIdは値があれば再表示できるので、コードは以下の通りです.
1、新しいボタンのリンクは変更する必要があります:
下位部門コードの表示:
1.jsp
追加:
parentIdは値があれば再表示できるので、コードは以下の通りです.
1、新しいボタンのリンクは変更する必要があります:
<s:a action="department_addUI?parentId=%{parentId}"><img src="${pageContext.request.contextPath}/style/images/createNew.png" /></s:a>
2.対応するActionは修正する必要はありません.parentIdは対応する上位部門をクリックして下位部門を表示するときにそのparentIdはモデルの値スタックに置かれているので、直接%{}OGLL式で取得できます.下位部門コードの表示:
<td><s:a action="department_list?parentId=%{id}">${name}</s:a> </td>
で2番目です.前のレベルに戻るボタンを追加1.jsp
<s:a action="department_list?parentId=%{#parent.parent.id}"><img src="${pageContext.request.contextPath}/style/blue/images/button/ReturnToPrevLevel.png" /></s:a>
2.該当アクションpublic String list() throws Exception {
//List<Department> departmentList=departmentservice.findall();
List<Department> departmentList=null;
if(parentId==null)//
departmentList=departmentservice.findTop();
else//
{
//-----------
Department parent =departmentservice.findById(parentId);
ActionContext.getContext().put("parent", parent);
//-----------
departmentList=departmentservice.findchildrens(parentId);
}
ActionContext.getContext().put("departmentList", departmentList);
return "list";
}
第三に、保存、修正、削除後に元の階層ディレクトリに残して最上位に戻らないでください...以前はstruts.xmlファイルのtoListに対応するresultが直接Listに戻ったからです.以下のように変更します.追加:
?parentId=${parentId} struts.xml OGNL $
<action name="department_*" class="departmentAction" method="{1}">
<result name="list">/WEB-INF/jsp/departmentAction/list.jsp</result>
<result name="saveUI">/WEB-INF/jsp/departmentAction/saveUI.jsp</result>
<result name="toList" type="redirectAction">department_list?parentId=${parentId}</result>
</action>
もちろん、削除の変更を保存するときに、値スタック内のActionオブジェクトスタックのparentIdプロパティに値を割り当てるには、アクションにparentIdを入力します..フォームのコミット・プロシージャが保存されている場合に変更されるため、parentIdは自然にActionに渡されます.変更するのは主に削除です.以下のようにします.<td><s:a action="department_delete?id=%{id}&parentId=%{parent.id}" onClick="return window.confirm(' , ?')"> </s:a>
<s:a action="department_editUI?id=%{id}"> </s:a>