首页 > 代码库 > SSH OA系统的三个细节问题

SSH OA系统的三个细节问题

第一:点击新建之后,顶级部门显示当前的上级部门而不是最顶级的NULL

      parentId有值就可以回显所以代码如下:

   1、新建按钮的链接需要更改:

       

  <s:a action="department_addUI?parentId=%{parentId}"><img src=http://www.mamicode.com/"${pageContext.request.contextPath}/style/images/createNew.png" />
2.相应的Action 不需要修改,因为parentId 在点击相应的上级部门查看其下级部门时它的parentId就已经放到model的值栈里去了,所以可以直接用%{}OGNL表达式取得。

查看下级部门代码:

    

<td><s:a action="department_list?parentId=%{id}">${name}</s:a> </td>
第二。增加返回上一级按钮

        1.jsp

       

       <s:a action="department_list?parentId=%{#parent.parent.id}"><img src=http://www.mamicode.com/"${pageContext.request.contextPath}/style/blue/images/button/ReturnToPrevLevel.png" />>     2.相应的Action

      

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这样才能为值栈中的Action 对象栈的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>