package com.oa.action; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import com.oa.model.DynamicField; import com.oa.model.DynamicForm; import com.oa.model.WorkFlow; import com.oa.service.DynamicFieldService; import com.oa.service.DynamicFormService; import com.oa.service.WorkFlowService; import com.opensymphony.xwork2.ActionSupport; public class DynamicFormAction extends ActionSupport { private WorkFlowService workFlowService; private DynamicFormService dynamicFormService; DynamicFieldService dynamicFieldService; private int index; private int workflowid; String returns; public String list() { String hql = ""; List<WorkFlow> workFlows = workFlowService.getPageWorkFlows((index == 0 ? 1 : index), hql); HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute("listObject", workFlows); request.setAttribute("currentIndex", (index == 0 ? 1 : index)); int total = workFlowService.getAllWorkFlows(hql).size(); request.setAttribute("totalSize", total); request.setAttribute("url", "DynamicFormAction!list?"); return "workFlowList"; } public String listFormField() { System.out.println(workflowid + "sfsadasdasdasd"); // System.out.println(form.toString()); DynamicForm dynamicForm = new DynamicForm(); dynamicForm.setWorkFlow(workFlowService.getWorkFlow(workflowid)); dynamicForm.setTemplate("document_form.ftl"); int id = (Integer) dynamicFormService.addOrUpdateDynamicForm(dynamicForm); ServletActionContext.getRequest().setAttribute("id", id); getDynamicFieldList(id); ServletActionContext.getRequest().setAttribute("url", "DynamicFormAction!listFormField?workflowid=" + workflowid); return "listFormField"; } private void getDynamicFieldList(int id) { List<DynamicField> fields = dynamicFieldService.getPageDynamicFields((index == 0 ? 1 : index), " and s.dynamicForm.id =" + id); System.out.println(fields.size() + "||||||||||||"); HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute("dynamicFieldList", fields); request.setAttribute("currentIndex", (index == 0 ? 1 : index)); int total = dynamicFieldService.getAllDynamicFields(" and s.dynamicForm.id =" + id).size(); request.setAttribute("totalSize", total); } public String deleteDynamicForm() { HttpServletRequest request = ServletActionContext.getRequest(); String[] ids = request.getParameterValues("delid"); for (int i = 0; i < ids.length; i++) { int id = Integer.valueOf(ids[i]); DynamicForm form = dynamicFormService.getDynamicFormByWorkFlow(id); dynamicFormService.deleteDynamicForm(form); } returns = "DynamicFormAction!list"; return null; } public WorkFlowService getWorkFlowService() { return workFlowService; } public void setWorkFlowService(WorkFlowService workFlowService) { this.workFlowService = workFlowService; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } public DynamicFormService getDynamicFormService() { return dynamicFormService; } @Resource public void setDynamicFormService(DynamicFormService dynamicFormService) { this.dynamicFormService = dynamicFormService; } public int getWorkflowid() { return workflowid; } public void setWorkflowid(int workflowid) { this.workflowid = workflowid; } public DynamicFieldService getDynamicFieldService() { return dynamicFieldService; } @Resource public void setDynamicFieldService(DynamicFieldService dynamicFieldService) { this.dynamicFieldService = dynamicFieldService; } public String getReturns() { return returns; } public void setReturns(String returns) { this.returns = returns; } }