⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.jsp

📁 给予OSWorkflow的工作流例子
💻 JSP
字号:
<%@ page contentType="text/html; charset=GB2312" %>
<%@ page import="com.opensymphony.user.User,                 com.opensymphony.workflow.Workflow,                 com.opensymphony.user.*,                 com.opensymphony.workflow.basic.BasicWorkflow,                 com.opensymphony.workflow.spi.Step,                 java.util.*,                 com.opensymphony.workflow.loader.WorkflowDescriptor,                 com.opensymphony.workflow.loader.ActionDescriptor"%><%    //创建一个工作流,从session中取出username    String username= request.getParameter("un");     System.out.println("====================");    System.out.println("登录用户:"+username);    System.out.println("====================");    Workflow wf = new BasicWorkflow(username);    UserManager um = UserManager.getInstance();    User user=um.getUser(username);    //Group group = (Group)(user.getGroups().get(0));    String groupname = (String)(user.getGroups().get(0));    long id = Long.parseLong(request.getParameter("id"));%>    <p> 当前登录用户:<%=username%>,所在的组:<%=groupname%></p>    <p>工作流编号:<%=id%></p>    <hr/>    <p>可用操作:</p><%    String doString = request.getParameter("do");    if (doString != null && !doString.equals("")) {        int action = Integer.parseInt(doString);        wf.doAction(id, action, Collections.EMPTY_MAP);//执行一个Action    }    int[] actions = wf.getAvailableActions(id, null);    WorkflowDescriptor wd =  wf.getWorkflowDescriptor(wf.getWorkflowName(id));//显示所有可用的ACTION    for (int i = 0; i < actions.length; i++) {        String name = wd.getAction(actions[i]).getName();        %>        <li> <a href="test.jsp?un=<%=request.getParameter("un")%>&id=<%=id%>&do=<%= actions[i] %>"><%= name %></a>        <%    }%><hr><b>权限</b><p><%    List perms = wf.getSecurityPermissions(id, null);    for (Iterator iterator = perms.iterator(); iterator.hasNext();) {        String perm = (String) iterator.next();%>    <li><%= perm %><%    }%><hr><table border="1"><tr>    <th>当前位置</th>    <th>动作</th>    <th>状态</th>    <th>所有者</th>    <th>开始时间</th>    <th>结束时间</th>    <th>上一位置</th></tr><%    ArrayList steps = new ArrayList();    steps.addAll(wf.getCurrentSteps(id));    steps.addAll(wf.getHistorySteps(id));    for (Iterator iterator = steps.iterator(); iterator.hasNext();) {        Step step = (Step) iterator.next();        String owner = step.getOwner();        ActionDescriptor action = wd.getAction(step.getActionId());        %>        <tr>            <td><%= wd.getStep(step.getStepId()).getName()%> (<%= step.getId() %>)</td>            <td><%= action == null ? "NONE" : action.getName() %></td>            <td><%= step.getStatus() %></td>            <td><%= owner %></td>            <td><%= step.getStartDate() %></td>            <td><%= step.getFinishDate() %></td>            <td><%                long[] prevIds = step.getPreviousStepIds();                if (prevIds != null) {                    for (int i = 0; i < prevIds.length; i++) {                        long prevId = prevIds[i];                        out.print(prevId + ", ");                    }                } else {                    out.print("none");                }            %></td>        </tr>        <%    }%></table><a href="#" onclick="window.open('viewlivegraph.jsp?id=<%=id%>')">查看工作流图表</a><jsp:include page="nav.jsp" flush="true">	<jsp:param name="un" value="<%=request.getParameter("un")%>"/></jsp:include>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -