隨筆-86  評(píng)論-767  文章-3  trackbacks-3

          附錄

          (1) ??? Struts-config.xml

          <?xml version="1.0" encoding="UTF-8"?>

          <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

          <struts-config>

          ? <form-beans>

          ??? <form-bean name="LoginForm" type="issuecontrol.actionform.LoginForm" />

          ??? <form-bean name="NewUserForm" type="issuecontrol.actionform.NewUserForm"/>

          ??? <form-bean name="BaseForm" type="issuecontrol.actionform.BaseForm"/>

          ?????? <form-bean name="loginActionForm" type="issuecontrol.actionform.LoginActionForm" />

          ??? <form-bean name="componentActionForm" type="issuecontrol.actionform.ComponentActionForm" />

          ??? <form-bean name="environmentActionForm" type="issuecontrol.actionform.EnvironmentActionForm" />

          ??? <form-bean name="flagActionForm" type="issuecontrol.actionform.FlagActionForm" />

          ??? <form-bean name="issueActionForm" type="issuecontrol.actionform.IssueActionForm" />

          ??? <form-bean name="logActionForm" type="issuecontrol.actionform.LogActionForm" />

          ??? <form-bean name="priorityActionForm" type="issuecontrol.actionform.PriorityActionForm" />

          ??? <form-bean name="typeActionForm" type="issuecontrol.actionform.TypeActionForm" />

          ??? <form-bean name="issueDataActionForm" type="issuecontrol.actionform.IssueDataActionForm"/>

          ? </form-beans>

          ? <global-forwards>

          ??? <forward name="loginSuccess" path="/main.jsp" />

          ??? <forward name="newUser" path="/newUser.jsp"/>

          ??? <forward name="updateUser" path="/newUser.jsp"/>

          ??? <forward name="deleteUser" path="/deleteUser.jsp"/>

          ??? <forward name="login" path="/index.jsp"/>

          ??? <forward name="success" path="/message.jsp"/>

          ?????? <forward name="operationSuccess" path="/Success.jsp" />

          ??? <forward name="error" path="/error.jsp"/>

          ??? <forward name="viewUser" path="/viewUser.jsp"/>

          ? </global-forwards>

          ? <action-mappings>

          ??? <action name="LoginForm" type="issuecontrol.action.MainAction" validate="true" scope="session" input="/index.jsp" path="/login" />

          ??? <action path="/newUser" name="BaseForm" type="issuecontrol.action.MainAction" validate="false" scope="request" input="/main.jsp"/>

          ??? <action path="/doNewUser" name="NewUserForm" type="issuecontrol.action.MainAction" validate="true" scope="request" input="/newUser.jsp"/>

          ??? <action path="/viewUser" name="BaseForm" type="issuecontrol.action.MainAction" validate="false" scope="request" input="/main.jsp"/>

          ??? <action path="/updateUser" name="BaseForm" type="issuecontrol.action.MainAction" validate="false" scope="request" input="/viewUser.jsp"/>

          ??? <action path="/doUpdateUser" name="NewUserForm" type="issuecontrol.action.MainAction" validate="true" scope="request" input="/newUser.jsp"/>

          ??? <action path="/deleteUser" name="BaseForm" type="issuecontrol.action.MainAction" validate="false" scope="request" input="/viewUser.jsp"/>

          ??? <action path="/doDeleteUser" name="BaseForm" type="issuecontrol.action.MainAction" validate="false" scope="request" input="/deleteUser.jsp"/>

          ??? <action name="issueActionForm" type="issuecontrol.action.IssueAction" validate="false" scope="request" path="/issueAction">

          ????? <forward name="viewIssue" path="/IssueList.jsp" />

          ????? <forward name="viewIssueDetail" path="/IssueDetail.jsp" />

          ????? <forward name="issueData" path="/IssueData.jsp" />

          ??? </action>

          ?????? <action name="issueDataActionForm" type="issuecontrol.action.IssueAction" validate="false" scope="request" path="/issueDataAction"/>

          ? </action-mappings>

          ? <message-resources parameter="/ApplicationResources"/>

          </struts-config>

          (2) ??? IssueAction.java

          package issuecontrol.action;

          import org.apache.struts.action.*;

          import javax.servlet.http.*;

          import issuecontrol.actionform.*;

          import java.util.Locale;

          import org.apache.struts.util.MessageResources;

          import issuecontrol.model.*;

          import issuecontrol.objects.*;

          import issuecontrol.view.*;

          import java.util.*;

          import java.text.DateFormat;

          ?

          public class IssueAction extends Action {

          ? public ActionForward perform(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {

          ??? String action = "view";

          ??? if(httpServletRequest.getParameter("action")!=null) action = httpServletRequest.getParameter("action").trim();

          ??? String viewPage=httpServletRequest.getParameter("viewPage");

          ??? ArrayList runningErrors = new ArrayList();

          ??? int pageNum=1;

          ??? String address = "viewIssue";

          ??? // 查看所有的 Issue

          ??? if(("view".equals(action)) || (action == null)) {

          ????? address = "viewIssue";

          ????? if((viewPage!= null)&&(viewPage.length()!= 0)){

          ??????? pageNum = Integer.parseInt(viewPage);

          ????? }

          ????? int pageSize=8;

          ????? //1. 先進(jìn)行參數(shù)分析

          ????? //2. 下面調(diào)用邏輯層方法得到顯示的對(duì)象

          ????? PageView selectPageView=IssueBean.getIssueByPage(new Page(pageNum,pageSize));

          ????? //3. 放到 request 中然后轉(zhuǎn)發(fā)

          ????? httpServletRequest.setAttribute("items",selectPageView.getItems());

          ????? httpServletRequest.setAttribute("selectPageView",selectPageView);

          ????? httpServletRequest.setAttribute("action",action);

          ??? }

          ??? // 查看單個(gè) Issue 及其 IssueDatas ChangeLogs

          ??? else if("viewDetail".equals(action)) {

          ????? String issueId = "";

          ????? if(httpServletRequest.getParameter("issueId")!=null) issueId = httpServletRequest.getParameter("issueId").trim();

          ????? IssueActionForm issueActionForm = IssueBean.getIssueById(issueId);

          ????? if(issueActionForm == null) {

          ??????? runningErrors.add(new ActionError("Issue(IssueID=" + issueId + ") not found."));

          ??????? httpServletRequest.setAttribute("runningErrors",runningErrors);

          ??????? address = "error";

          ????? }

          ????? else {

          ??????? httpServletRequest.setAttribute("issueActionForm",issueActionForm);

          ??????? issueActionForm.setActionType(action);

          ??????? address = "viewIssueDetail";

          ????? }

          ??? }

          ?? ?// 新建一個(gè) Issue

          ??? else if("create".equals(action)) {

          ????? address = "viewIssueDetail";

          ????? httpServletRequest.setAttribute("typeActionForms",IssueBean.getAllTypes());

          ????? httpServletRequest.setAttribute("componentActionForms",IssueBean.getAllComponents());

          ????? httpServletRequest.setAttribute("flagActionForms",IssueBean.getAllFlags());

          ????? httpServletRequest.setAttribute("environmentActionForms",IssueBean.getAllEnvironments());

          ????? httpServletRequest.setAttribute("priorityActionForms",IssueBean.getAllPriorities());

          ????? httpServletRequest.setAttribute("forward","/issueAction.do?action=save");

          ??? }

          ??? // 編輯已有的 Issue

          ??? else if("edit".equals(action)) {

          ????? address = "viewIssueDetail";

          ????? String issueId = "";

          ????? if(httpServletRequest.getParameter("issueId") != null) issueId = httpServletRequest.getParameter("issueId").trim();

          ????? IssueActionForm issueActionForm = IssueBean.getIssueById(issueId);

          ????? if(issueActionForm == null) {

          ??????? runningErrors.add(new ActionError("Issue(IssueID=" + issueId + ") not found."));

          ??????? httpServletRequest.setAttribute("runningErrors",runningErrors);

          ??? ????address = "error" ;

          ????? }

          ????? else {

          ??????? address = "viewIssueDetail";

          ??????? issueActionForm.setActionType(action);

          ??????? httpServletRequest.setAttribute("issueActionForm",issueActionForm);

          ??????? httpServletRequest.setAttribute("typeActionForms",IssueBean.getAllTypes());

          ??????? httpServletRequest.setAttribute("componentActionForms",IssueBean.getAllComponents());

          ??????? httpServletRequest.setAttribute("flagActionForms",IssueBean.getAllFlags());

          ??????? httpServletRequest.setAttribute("environmentActionForms",IssueBean.getAllEnvironments());

          ??????? httpServletRequest.setAttribute("priorityActionForms",IssueBean.getAllPriorities());

          ??????? httpServletRequest.setAttribute("forward","/issueAction.do?action=update");

          ????? }

          ??? }

          ??? // 刪除對(duì)應(yīng)的 Issue

          ??? else if("delete".equals(action)) {

          ????? String issueId = "";

          ????? if(httpServletRequest.getParameter("issueId")!=null) issueId = httpServletRequest.getParameter("issueId").trim();

          ????? IssueBean.delIssueById(issueId);

          ????? httpServletRequest.setAttribute("message","Issue(IssueID="+issueId+") have been deleted.");

          ????? address = "operationSuccess";

          ??? }

          ??? // 保存新建的 Issue

          ??? else if("save".equals(action)) {

          ????? IssueActionForm issueActionForm = (IssueActionForm)actionForm;

          ????? String type = issueActionForm.getActionType();

          ????? if(type.equals("")) type = "create";

          ????? if("create".equals(type) || "".equals(type)) {

          ??????? IssueBean.addOneIssue(issueActionForm);

          ??????? httpServletRequest.setAttribute("message","New Issue(IssueID=" +? issueActionForm.getIssueId()+ ") have been created.");

          ????? }

          ????? else if("edit".equals(type)) {

          ??????? IssueBean.updateIssue(issueActionForm);

          ??????? httpServletRequest.setAttribute("message","New Issue(IssueID=" +? issueActionForm.getIssueId()+ ") have been updated.");

          ????? }

          ????? address = "operationSuccess";

          ??? }

          ??? // 新建 IssueData

          ??? else if("createIssueData".equals(action)) {

          ????? String issueId = "";

          ????? if(httpServletRequest.getParameter("issueId")!=null)

          ??????? issueId = httpServletRequest.getParameter("issueId");

          ????? IssueActionForm issueActionForm = IssueBean.getIssueById(issueId);

          ????? if(issueActionForm == null) {

          ??????? runningErrors.add(new ActionError("Issue(IssueID=" + issueId + ") not found."));

          ??????? httpServletRequest.setAttribute("runningErrors",runningErrors);

          ??????? address = "error" ;

          ????? }

          ????? else {

          ??????? address = "issueData";

          ??????? DateFormat dateFormat = DateFormat.getInstance();

          ??????? IssueDataActionForm issueDataActionForm = new IssueDataActionForm();

          ??????? issueDataActionForm.setActionType(action);

          ??????? issueDataActionForm.setStartDay(ExtendCalendar.getDate("yyyy/MM/dd"));

          ??????? String name = (String)httpServletRequest.getSession().getAttribute("userName");

          ??????? UserBean userBean = new UserBean();

          ??????? try {

          ????????? NewUserForm userForm = userBean.getUserByName(name);

          ????????? httpServletRequest.setAttribute("userForm",userForm);

          ??????? }

          ??????? catch (Exception ex) {

          ????????? System.out.println("Exception:" + ex.getMessage());

          ??????? }

          ??????? httpServletRequest.setAttribute("issueActionForm",issueActionForm);

          ??????? httpServletRequest.setAttribute("issueDataActionForm",issueDataActionForm);

          ??????? httpServletRequest.setAttribute("priorityActionForms",IssueBean.getAllPriorities());

          ??????? httpServletRequest.setAttribute("flagActionForms",IssueBean.getAllFlags());

          ????? }

          ??? }

          ??? // 保存新建的 IssueData

          ??? else if("saveIssueData".equals(action)) {

          ????? IssueDataActionForm issueDataActionForm = (IssueDataActionForm)actionForm;

          ????? String type = issueDataActionForm.getActionType();

          ????? if(type.equals("") || (type==null)) type = "createIssueData";

          ????? if("createIssueData".equals(type)) {

          ??????? issueDataActionForm.setUser(httpServletRequest.getParameter("userName"));

          ??????? issueDataActionForm.setUserId(httpServletRequest.getParameter("userId"));

          ??????? issueDataActionForm.setIssueId(httpServletRequest.getParameter("issueId"));

          ??????? IssueBean.addOneIssueData(issueDataActionForm);

          ??????? httpServletRequest.setAttribute("message","New IssueData have been created.");

          ??????? address = "operationSuccess";

          ????? }

          ????? else if("editIssueData".equals(type)) {

          ??????? IssueBean.updateIssueData(issueDataActionForm);

          ??????? LogActionForm logActionForm = new LogActionForm();

          ??????? logActionForm.setChangeTo(issueDataActionForm.getEndDay());

          ??????? logActionForm.setIssueId(issueDataActionForm.getIssueId());

          ??????? logActionForm.setOriginal(httpServletRequest.getParameter("original"));

          ??????? logActionForm.setReason(httpServletRequest.getParameter("reason"));

          ??????? logActionForm.setUser(issueDataActionForm.getUserId());

          ??????? httpServletRequest.setAttribute("message","IssueData have been updated.");

          ??????? address = "operationSuccess";

          ????? }

          ??? }

          ??? // 編輯 IssueData

          ??? else if("editIssueData".equals(action)) {

          ????? String issueDataId = "";

          ????? if(httpServletRequest.getParameter("issueDataId")!=null)

          ??????? issueDataId = httpServletRequest.getParameter("issueDataId");

          ????? IssueDataActionForm issueDataActionForm = IssueBean.getIssueDataById(issueDataId);

          ????? if(issueDataActionForm!=null) {

          ??????? address = "issueData";

          ? ?????? issueDataActionForm.setActionType(action);

          ??????? LogActionForm logActionForm = new LogActionForm();

          ??????? logActionForm.setIssueId(issueDataActionForm.getIssueId());

          ??????? logActionForm.setOriginal(issueDataActionForm.getEndDay());

          ??????? httpServletRequest.setAttribute("logActionForm",logActionForm);

          ??????? IssueActionForm issueActionForm = IssueBean.getIssueById(issueDataActionForm.getIssueId());

          ??????? if(issueActionForm!=null) httpServletRequest.setAttribute("issueActionForm",issueActionForm);

          ??????? httpServletRequest.setAttribute("issueDataActionForm",issueDataActionForm);

          ??????? httpServletRequest.setAttribute("priorityActionForms",IssueBean.getAllPriorities());

          ??????? httpServletRequest.setAttribute("flagActionForms",IssueBean.getAllFlags());

          ????? }

          ????? else {

          ??????? runningErrors.add(new ActionError("IssueData(IssueDataID=" + issueDataId + ") not found."));

          ??????? httpServletRequest.setAttribute("runningErrors",runningErrors);

          ??????? address = "error";

          ????? }

          ??? }

          ??? // 刪除 IssueData

          ??? else if("deleteIssueData".equals(action)) {

          ????? String issueDataId = "";

          ????? if(httpServletRequest.getParameter("issueDataId")!=null) {

          ??????? issueDataId = httpServletRequest.getParameter("issueDataId");

          ??????? IssueBean.delOneIssueData(issueDataId);

          ??????? httpServletRequest.setAttribute("message","The issueData has been deleted.");

          ??????? address = "operationSuccess";

          ????? }

          ????? else {

          ??????? runningErrors.add(new ActionError("IssueData(IssueDataID=" + issueDataId + ") not found."));

          ??????? httpServletRequest.setAttribute("runningErrors",runningErrors);

          ??????? address = "error";

          ????? }

          ??? }

          ??? return actionMapping.findForward(address);

          ? }

          }

          (3) ??? IssueBean.java

          package issuecontrol.model;

          /**

          ?* Issue 操作類

          ?*/

          import net.sf.hibernate.*;

          import issuecontrol.objects.*;

          import java.util.*;

          import issuecontrol.view.*;

          import issuecontrol.actionform.*;

          import java.util.ArrayList;

          ?

          public class IssueBean {

          ? public static PageView getIssueByPage(Page thepage) {

          ??? Page selectPage = null;

          ??? try {

          ????? IssueDAO issueDAO= (IssueDAO) DAOFactory.getInstance("IssueDAO");

          ????? selectPage = issueDAO.getIssueByPage(thepage);

          ????? DAOFactory.returnInstance();

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("Exception:" + ex.getMessage());

          ??? }

          ??? ArrayList items=new ArrayList(selectPage.getItems());

          ??? for(int i=0;i<items.size();i++)

          ??? {

          ????? IssueView theissueview=new IssueView((Issue)items.get(i));

          ????? items.set(i,theissueview);

          ??? }

          ??? PageView selectPageView=new PageView(selectPage);

          ??? selectPageView.setItems(items);

          ??? return selectPageView;

          ? }

          ?

          ? public static void addOneIssue(IssueActionForm issueActionForm) {

          ??? try {

          ????? Issue addIssue = new Issue();

          ????? IssueDAO issueDAO= (IssueDAO) DAOFactory.getInstance("IssueDAO");

          ????? addIssue.setComponent(issueDAO.getComponentById(Long.valueOf(issueActionForm.getComponentId())));

          ????? addIssue.setDescription(issueActionForm.getDescription());

          ????? addIssue.setEnvironment(issueDAO.getEnvironmentById(Long.valueOf(issueActionForm.getEnvironmentId())));

          ????? addIssue.setFlag(issueDAO.getFlagById(Long.valueOf(issueActionForm.getFlagId())));

          ????? addIssue.setIssueId(issueActionForm.getIssueId());

          ????? addIssue.setPriority(issueDAO.getPriorityById(Long.valueOf(issueActionForm.getPriorityId())));

          ????? addIssue.setTitle(issueActionForm.getTitle());

          ????? addIssue.setType(issueDAO.getTypeById(Long.valueOf(issueActionForm.getTypeId())));

          ????? issueDAO.addIssue(addIssue);

          ????? DAOFactory.returnInstance();

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ? }

          ?

          ? public static void addOneIssueData(IssueDataActionForm issueDataActionForm) {

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ? ????UserDAO userDAO = (UserDAO)DAOFactory.getInstance("UserDAO");

          ????? Issue selectIssue = issueDAO.getIssueById(issueDataActionForm.getIssueId());

          ????? Issuedata addIssueData = new Issuedata();

          ????? if(issueDataActionForm.getEndDay()!=null) addIssueData.setEndDay(new Date(issueDataActionForm.getEndDay()));

          ????? if(issueDataActionForm.getFlagId()!=null) addIssueData.setFlag(issueDAO.getFlagById(Long.valueOf(issueDataActionForm.getFlagId())));

          ????? if(issueDataActionForm.getIssueId()!=null) addIssueData.setIssue(issueDAO.getIssueById(issueDataActionForm.getIssueId()));

          ????? if(issueDataActionForm.getPriorityId()!=null) addIssueData.setPriority(issueDAO.getPriorityById(Long.valueOf(issueDataActionForm.getPriorityId())));

          ????? if(issueDataActionForm.getStartDay()!=null) addIssueData.setStartDay(new Date(issueDataActionForm.getStartDay()));

          ????? if(issueDataActionForm.getSubmitDay()!=null) addIssueData.setSubmitDay(new Date(issueDataActionForm.getSubmitDay()));

          ????? if(issueDataActionForm.getUserId()!=null) addIssueData.setUser(userDAO.getUserById(Long.valueOf(issueDataActionForm.getUserId())));

          ????? issueDAO.addOneIssueData(selectIssue,addIssueData);

          ????? DAOFactory.returnInstance();

          ??? }

          ??? catch(Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ? }

          ?

          ? public static void addOneLog(IssueActionForm issueActionForm,LogActionForm logActionForm) {

          ??? try {

          ????? IssueDAO issueDAO= (IssueDAO) DAOFactory.getInstance("IssueDAO");

          ????? Issue theIssue = issueDAO.getIssueById(issueActionForm.getIssueId());

          ????? Log theLog = new Log();

          ????? theLog.setIssue(issueDAO.getIssueById(issueActionForm.getIssueId()));

          ????? theLog.setReason(logActionForm.getReason());

          ????? issueDAO.addOneLog(theIssue, theLog);

          ????? DAOFactory.returnInstance();

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ? }

          ?

          ? public static void delIssueById(String issueId) {

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? issueDAO.delIssueById(issueId);

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ? }

          ?

          ? public static void delOneIssueData(String issueDataId) {

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? issueDAO.delOneIssueData(Long.valueOf(issueDataId));

          ????? DAOFactory.returnInstance();

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ? }

          ?

          ? public static void delOneLog(String logId) {

          ??? try{

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? issueDAO.delOneLog(Long.valueOf(logId));

          ????? DAOFactory.returnInstance();

          ??? }catch(Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ? }

          ?

          ? public static IssueActionForm getIssueById(String issueId) {

          ??? IssueActionForm issueActionForm = new IssueActionForm();

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ? ????Issue selectIssue = issueDAO.getIssueById(issueId);

          ????? issueActionForm.setComponent(selectIssue.getComponent().getComponent());

          ????? issueActionForm.setComponentId(String.valueOf(selectIssue.getComponent().getComponentId()));

          ????? issueActionForm.setDescription(selectIssue.getDescription());

          ????? issueActionForm.setEnvironment(selectIssue.getEnvironment().getEnvironment());

          ????? issueActionForm.setEnvironmentId(String.valueOf(selectIssue.getEnvironment().getEnvironmentId()));

          ????? issueActionForm.setFlag(selectIssue.getFlag().getFlag());

          ????? issueActionForm.setFlagId(String.valueOf(selectIssue.getFlag().getFlagId()));

          ????? issueActionForm.setIssueId(selectIssue.getIssueId());

          ????? issueActionForm.setPriority(selectIssue.getPriority().getPriority());

          ????? issueActionForm.setPriorityId(String.valueOf(selectIssue.getPriority().getPriorityId()));

          ????? issueActionForm.setTitle(selectIssue.getTitle());

          ????? issueActionForm.setType(selectIssue.getType().getType());

          ????? issueActionForm.setTypeId(String.valueOf(selectIssue.getType().getTypeId()));

          ????? if(selectIssue.getIssueDatas()!=null) {

          ??????? Issuedata[] issuedatas = (Issuedata[])selectIssue.getIssueDatas().toArray(new Issuedata[0]);

          ??????? for(int i=0;i<issuedatas.length;i++) {

          ????????? IssueDataActionForm issueDataActionForm = new IssueDataActionForm();

          ????????? issueDataActionForm.setEndDay(String.valueOf(issuedatas[i].getEndDay()));

          ????????? issueDataActionForm.setFlag(issuedatas[i].getFlag().getFlag());

          ????????? issueDataActionForm.setId(String.valueOf(issuedatas[i].getId()));

          ????????? issueDataActionForm.setIssueId(issuedatas[i].getIssueId());

          ????????? issueDataActionForm.setPriority(issuedatas[i].getPriority().getPriority());

          ????????? issueDataActionForm.setStartDay(String.valueOf(issuedatas[i].getStartDay()));

          ????????? issueDataActionForm.setSubmitDay(String.valueOf(issuedatas[i].getSubmitDay()));

          ????????? issueDataActionForm.setUser(issuedatas[i].getUser().getName());

          ????????? issueActionForm.getIssueDatas().add(issueDataActionForm);

          ??????? }

          ????? }

          ????? if(selectIssue.getLogs()!=null) {

          ??????? Log[] logs = (Log[])selectIssue.getLogs().toArray(new Log[0]);

          ??????? for(int i=0;i<logs.length;i++) {

          ????????? LogActionForm logActionForm = new LogActionForm();

          ????????? logActionForm.setChangeTo(logs[i].getChangeTo().toString());

          ????????? logActionForm.setId(String.valueOf(logs[i].getId()));

          ????????? logActionForm.setIssueId(logs[i].getIssue().getIssueId());

          ????????? logActionForm.setOriginal(logs[i].getOriginal().toString());

          ????????? logActionForm.setReason(logs[i].getReason());

          ????????? logActionForm.setUser(logs[i].getUser().getName());

          ????????? issueActionForm.getLogDatas().add(logActionForm);

          ??????? }

          ????? }

          ????? DAOFactory.returnInstance();

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ????? return null;

          ??? }

          ??? return issueActionForm;

          ? }

          ?

          ? public static TypeActionForm getTypeById(String typeId) {

          ??? TypeActionForm typeActionForm = new TypeActionForm();

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? Type selectType = issueDAO.getTypeById(Long.valueOf(typeId));

          ????? typeActionForm.setType(selectType.getType());

          ????? typeActionForm.setTypeId(String.valueOf(selectType.getTypeId()));

          ????? DAOFactory.returnInstance();

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ??? return typeActionForm;

          ? }

          ?

          ? public static ComponentActionForm getComponentById(String componentId) {

          ??? ComponentActionForm componentActionForm = new ComponentActionForm();

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? Component selectComponent = issueDAO.getComponentById(Long.valueOf(componentId));

          ?? ???componentActionForm.setComponent(selectComponent.getComponent());

          ????? componentActionForm.setComponentId(String.valueOf(selectComponent.getComponentId()));

          ????? DAOFactory.returnInstance();

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ??? return componentActionForm;

          ? }

          ?

          ? public static FlagActionForm getFlagById(String flagId) {

          ??? FlagActionForm flagActionForm = new FlagActionForm();

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? Flag selectFlag = issueDAO.getFlagById(Long.valueOf(flagId));

          ????? flagActionForm.setFlag(selectFlag.getFlag());

          ????? flagActionForm.setFlagId(String.valueOf(selectFlag.getFlagId()));

          ????? DAOFactory.returnInstance();

          ? ??}

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ??? return flagActionForm;

          ? }

          ?

          ? public static EnvironmentActionForm getEnvironmentById(String environmentId) {

          ??? EnvironmentActionForm environmentAcrionForm = new EnvironmentActionForm();

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? Environment selectEnvironment = issueDAO.getEnvironmentById(Long.valueOf(environmentId));

          ????? environmentAcrionForm.setEnvironment(selectEnvironment.getEnvironment());

          ????? environmentAcrionForm.setEnvironmentId(String.valueOf(selectEnvironment.getEnvironmentId()));

          ????? DAOFactory.returnInstance();

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ??? return environmentAcrionForm;

          ? }

          ?

          ? public static PriorityActionForm getPriorityById(String priorityId) {

          ??? PriorityActionForm priorityActionForm = new PriorityActionForm();

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? Priority selectPriority = issueDAO.getPriorityById(Long.valueOf(priorityId));

          ????? priorityActionForm.setPriority(selectPriority.getPriority());

          ????? priorityActionForm.setPriorityId(String.valueOf(selectPriority.getPriorityId()));

          ????? DAOFactory.returnInstance();

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ??? return priorityActionForm;

          ? }

          ?

          ? public static LogActionForm getLogById(String logId) {

          ??? LogActionForm logActionForm = new LogActionForm();

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? Log selectLog = issueDAO.getLogById(Long.valueOf(logId));

          ????? logActionForm.setId(String.valueOf(selectLog.getId()));

          ????? logActionForm.setIssueId(String.valueOf(selectLog.getIssue().getIssueId()));

          ????? logActionForm.setOriginal(selectLog.getOriginal().toString());

          ????? logActionForm.setReason(selectLog.getReason());

          ????? logActionForm.setUser(String.valueOf(selectLog.getUser().getUserId()));

          ????? logActionForm.setChangeTo(selectLog.getChangeTo().toString());

          ????? DAOFactory.returnInstance();

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ??? return logActionForm;

          ? }

          ?

          ? public static ComponentActionForm[] getAllComponents() {

          ??? Collection collection = new ArrayList();

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? Iterator iterator = issueDAO.getAllComponents().iterator();

          ????? DAOFactory.returnInstance();

          ????? while(iterator.hasNext()) {

          ??????? Component selectComponent = (Component)iterator.next();

          ??????? ComponentActionForm componentActionForm = new ComponentActionForm();

          ??????? componentActionForm.setComponent(selectComponent.getComponent());

          ??????? componentActionForm.setComponentId(String.valueOf(selectComponent.getComponentId()));

          ??????? collection.add(componentActionForm);

          ????? }

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ??? return (ComponentActionForm[])collection.toArray(new ComponentActionForm[0]);

          ? }

          ?

          ? public static EnvironmentActionForm[] getAllEnvironments() {

          ??? Collection collection = new ArrayList();

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? Iterator iterator = issueDAO.getAllEnvironments().iterator();

          ????? DAOFactory.returnInstance();

          ????? while(iterator.hasNext()) {

          ??????? Environment selectEnvironment = (Environment)iterator.next();

          ??????? EnvironmentActionForm environmentActionForm = new EnvironmentActionForm();

          ??????? environmentActionForm.setEnvironment(selectEnvironment.getEnvironment());

          ??????? environmentActionForm.setEnvironmentId(String.valueOf(selectEnvironment.getEnvironmentId()));

          ??????? collection.add(environmentActionForm);

          ????? }

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ??? return (EnvironmentActionForm[])collection.toArray(new EnvironmentActionForm[0]);

          ? }

          ?

          ? public static FlagActionForm[] getAllFlags() {

          ??? Collection collection = new ArrayList();

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? Iterator iterator = issueDAO.getAllFlags().iterator();

          ?? ???DAOFactory.returnInstance();

          ????? while(iterator.hasNext()) {

          ??????? Flag selectFlag = (Flag)iterator.next();

          ??????? FlagActionForm flagActionForm = new FlagActionForm();

          ??????? flagActionForm.setFlag(selectFlag.getFlag());

          ??????? flagActionForm.setFlagId(String.valueOf(selectFlag.getFlagId()));

          ??????? collection.add(flagActionForm);

          ????? }

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ??? return (FlagActionForm[])collection.toArray(new FlagActionForm[0]);

          ? }

          ?

          ? public static PriorityActionForm[] getAllPriorities() {

          ??? Collection collection = new ArrayList();

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? Iterator iterator = issueDAO.getAllPrioritys().iterator();

          ????? DAOFactory.returnInstance();

          ????? while(iterator.hasNext()) {

          ??????? Priority selectPriority = (Priority)iterator.next();

          ??????? PriorityActionForm priorityActionForm = new PriorityActionForm();

          ??????? priorityActionForm.setPriority(selectPriority.getPriority());

          ??????? priorityActionForm.setPriorityId(String.valueOf(selectPriority.getPriorityId()));

          ??????? collection.add(priorityActionForm);

          ????? }

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ??? return (PriorityActionForm[])collection.toArray(new PriorityActionForm[0]);

          ? }

          ?

          ? public static TypeActionForm[] getAllTypes() {

          ??? Collection collection = new ArrayList();

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? Iterator iterator = issueDAO.getAllTypes().iterator();

          ????? DAOFactory.returnInstance();

          ????? while(iterator.hasNext()) {

          ??????? Type selectType = (Type)iterator.next();

          ??????? TypeActionForm typeActionForm = new TypeActionForm();

          ??????? typeActionForm.setType(selectType.getType());

          ??????? typeActionForm.setTypeId(String.valueOf(selectType.getTypeId()));

          ??????? collection.add(typeActionForm);

          ????? }

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ??? return (TypeActionForm[])collection.toArray(new TypeActionForm[0]);

          ? }

          ?

          ? public static void updateIssue(IssueActionForm issueActionForm) {

          ??? try {

          ????? IssueDAO issueDAO= (IssueDAO) DAOFactory.getInstance("IssueDAO");

          ????? Issue updateIssue = issueDAO.getIssueById(issueActionForm.getIssueId());

          ????? updateIssue.setComponent(issueDAO.getComponentById(Long.valueOf(issueActionForm.getComponentId())));

          ????? updateIssue.setDescription(issueActionForm.getDescription());

          ????? updateIssue.setEnvironment(issueDAO.getEnvironmentById(Long.valueOf(issueActionForm.getEnvironmentId())));

          ????? updateIssue.setFlag(issueDAO.getFlagById(Long.valueOf(issueActionForm.getFlagId())));

          ????? updateIssue.setPriority(issueDAO.getPriorityById(Long.valueOf(issueActionForm.getPriorityId())));

          ????? updateIssue.setTitle(issueActionForm.getTitle());

          ????? updateIssue.setType(issueDAO.getTypeById(Long.valueOf(issueActionForm.getTypeId())));

          ????? issueDAO.updateIssue(updateIssue);

          ? ???? DAOFactory.returnInstance();

          ??? }

          ??? catch (Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ? }

          ?

          ? public static IssueDataActionForm getIssueDataById(String issueDataId) {

          ??? IssueDataActionForm issueDataActionForm =? new IssueDataActionForm();

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? Issuedata selectIssuedata = issueDAO.getIssueDataById(Long.valueOf(issueDataId));

          ????? issueDataActionForm.setEndDay(String.valueOf(selectIssuedata.getEndDay()));

          ????? issueDataActionForm.setFlag(selectIssuedata.getFlag().getFlag());

          ????? issueDataActionForm.setFlagId(String.valueOf(selectIssuedata.getFlag().getFlagId()));

          ????? issueDataActionForm.setId(String.valueOf(selectIssuedata.getId()));

          ????? issueDataActionForm.setIssueId(selectIssuedata.getIssue().getIssueId());

          ????? issueDataActionForm.setPriority(selectIssuedata.getPriority().getPriority());

          ????? issueDataActionForm.setPriorityId(String.valueOf(selectIssuedata.getPriority().getPriorityId()));

          ????? issueDataActionForm.setStartDay(String.valueOf(selectIssuedata.getStartDay()));

          ????? issueDataActionForm.setSubmitDay(String.valueOf(selectIssuedata.getSubmitDay()));

          ????? issueDataActionForm.setUser(selectIssuedata.getUser().getName());

          ????? issueDataActionForm.setUserId(String.valueOf(selectIssuedata.getUser().getUserId()));

          ????? DAOFactory.returnInstance();

          ??? }catch(Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ??? return issueDataActionForm;

          ? }

          ? public static void updateIssueData(IssueDataActionForm issueDataActionForm) {

          ??? try {

          ????? IssueDAO issueDAO = (IssueDAO)DAOFactory.getInstance("IssueDAO");

          ????? UserDAO userDAO = (UserDAO)DAOFactory.getInstance("UserDAO");

          ? ????Issuedata issuedata = issueDAO.getIssueDataById(Long.valueOf(issueDataActionForm.getId()));

          ????? issuedata.setEndDay(new Date(issueDataActionForm.getEndDay()));

          ????? issuedata.setFlag(issueDAO.getFlagById(Long.valueOf(issueDataActionForm.getFlagId())));

          ????? issuedata.setId(Long.valueOf(issueDataActionForm.getId()));

          ????? issuedata.setIssue(issueDAO.getIssueById(issueDataActionForm.getIssueId()));

          ????? issuedata.setIssueId(issueDataActionForm.getIssueId());

          ????? issuedata.setPriority(issueDAO.getPriorityById(Long.valueOf(issueDataActionForm.getPriorityId())));

          ????? issuedata.setStartDay(new Date(issueDataActionForm.getStartDay()));

          ????? issuedata.setSubmitDay(new Date(issueDataActionForm.getSubmitDay()));

          ????? issuedata.setUser(userDAO.getUserById(Long.valueOf(issueDataActionForm.getUserId())));

          ????? issueDAO.updateOneIssueData(issuedata);

          ????? DAOFactory.returnInstance();

          ??? }catch(Exception ex) {

          ????? System.out.println("HibernateException:" + ex.getMessage());

          ??? }

          ? }

          }

          (4) ??? IssueDetail.jsp

          <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

          <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

          <%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>

          <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>

          <%@ page contentType="text/html; charset=GBK" %>

          <template:insert template="header.jsp">

          <template:put name="title">end-to-end</template:put>

          </template:insert>

          <center>

          <table width="100%" border="0" cellpadding="1">

          ? <TR>

          ??? <TD width="250" valign="top"><template:insert template="function.jsp"/>

          ??? </TD>

          ??? <TD><html:form action="/issueAction.do?action=save" method="POST">

          ? <table width="100%" border="0" cellpadding="1" class="tableborder">

          ??? <tr width="100%" height="20" align="left">

          ????????????? <td colspan="2" class="forumHeaderBackgroundAlternate">

          ???????????????????? <html:hidden name="issueActionForm" property="actionType"/>

          ???????????????????? <logic:equal name="issueActionForm" property="actionType" value="create">

          ??????????????????????????? Create? new issue:

          ???????????????????? </logic:equal>

          ???????????????????? <logic:equal name="issueActionForm" property="actionType" value="edit">

          ??????????????????????????? Edit selected issue:

          ???????????????????? </logic:equal>

          ???????????????????? <logic:equal name="issueActionForm" property="actionType" value="viewDetail">

          ??????????????????????????? View selected issue's detail:

          ???????????????????? </logic:equal>

          ????????????? </td>

          ?????? </tr>

          ?????? <tr width="100%" height="20">

          ???????????????????? <td class="Forumrow">IssueID:</td>

          ???????????????????? <td class="Forumrow">

          ??????????????????????????? <logic:equal name="issueActionForm" property="actionType" value="create">

          ?????????????????????????????????? <html:text property="issueId"/>

          ??????????????????????????? </logic:equal>

          ??????????????????????????? <logic:equal name="issueActionForm" property="actionType" value="edit">

          ?????????????????????????????????? <logic:present name="issueActionForm">

          ????????????????????????????????????????? <html:text name="issueActionForm" property="issueId"/>

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="issueActionForm">

          ????????????????????????????????????????? <b>Error:No issue.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:equal>

          ??????????????????????????? <logic:equal name="issueActionForm" property="actionType" value="viewDetail">

          ?????????????????????????????????? <logic:present name="issueActionForm">

          ????????????????????????????????????????? <bean:write name="issueActionForm" property="issueId" />

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="issueActionForm">

          ????????????????????????????????????????? <b>Error:No issue.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:equal>

          ???????????????????? </td>

          ????????????? </tr>

          ????????????? <tr width="100%" height="20">

          ???????????????????? <td class="Forumrow">Title:</td>

          ???????????????????? <td class="Forumrow">

          ??????????????????????????? <logic:equal name="issueActionForm" property="actionType" value="create">

          ?????????????????????????????????? <html:text property="title"/>

          ??????????????????????????? </logic:equal>

          ??????????????????????????? <logic:equal name="issueActionForm" property="actionType" value="edit">

          ?????????????????????????????????? <logic:present name="issueActionForm">

          ????????????????????????????????????????? <html:text name="issueActionForm" property="title" />

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="issueActionForm">

          ????????????????????????????????????????? <b>Error:No issue.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:equal>

          ??????????????????????????? <logic:equal name="issueActionForm" property="actionType" value="viewDetail">

          ?????????????????????????????????? <logic:present name="issueActionForm">

          ????????????????????????????????????????? <bean:write name="issueActionForm" property="title" />

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="issueActionForm">

          ????????????????????????????????????????? <b>Error:No issue.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:equal>

          ???????????????????? </td>

          ????????????? </tr>

          ????????????? <tr width="100%" height="20">

          ???????????????????? <td class="Forumrow">Description:</td>

          ???????????????????? <td class="Forumrow">

          ??????????????????????????? <logic:equal name="issueActionForm" property="actionType" value="create">

          ?????????????????????????????????? <html:textarea property="description" rows="8" cols="40"/>

          ??????????????????????????? </logic:equal>

          ??????????????? <logic:equal name="issueActionForm" property="actionType" value="edit">

          ?????????????????????????????????? <logic:present name="issueActionForm">

          ????????????????????????????????????????? <html:textarea property="description" rows="8" cols="40"/>

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="issueActionForm">

          ????????????????????????????????????????? <b>Error:No issue.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:equal>

          ??????????????????????????? <logic:equal name="issueActionForm" property="actionType" value="viewDetail">

          ?????????????????????????????????? <logic:present name="issueActionForm">

          ????????????????????????????????????????? <bean:write name="issueActionForm" property="description" />

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="issueActionForm">

          ????????????????????????????????????????? <b>Error:No issue.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:equal>

          ???????????????????? </td>

          ????????????? </tr>

          ??????? <tr width="100%" height="20">

          ??????? ?????? <td class="Forumrow">Type:</td>

          ??????????? <td class="Forumrow">

          ??????????????????????????? <logic:notEqual name="issueActionForm" property="actionType" value="viewDetail">

          ??????????? ????????????? <logic:present name="typeActionForms">

          ????????????????????????????????????????? <html:select property="typeId" size="1">

          ???????????????????????????????????????????????? <logic:iterate id="types" name="typeActionForms">

          ?????????????????????????????????? ???????????????????? <option value="<bean:write name="types" property="typeId"/>"><bean:write name="types" property="type" /></option>

          ???????????????????????????????????????????????? </logic:iterate>

          ??????????????? ????????????? </html:select>

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="typeActionForms">

          ????????????????????????????????????????? <b>Error:TypeActionForms are not present.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:notEqual>

          ??????????????????????????? <logic:equal name="issueActionForm" property="actionType" value="viewDetail">

          ?????????????????????????????????? <logic:present name="issueActionForm">

          ????????????????????????????????????????? <bean:write name="issueActionForm" property="type" />

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="issueActionForm">

          ????????????????????????????????????????? <b>Error:No issue.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:equal>

          ???????????????????? </td>

          ????????????? </tr>

          ??????? <tr width="100%" height="20">

          ??????? ?????? <td class="Forumrow">Component:</td>

          ??????????? <td class="Forumrow">

          ??????????????????????????? <logic:notEqual name="issueActionForm" property="actionType" value="viewDetail">

          ??????????? ????????????? <logic:present name="componentActionForms">

          ????????????????????????????????????????? <html:select property="componentId" size="1">

          ???????????????????????????????????????????????? <logic:iterate id="components" name="componentActionForms">

          ??????????????????????????????????????????????????????? <option value="<bean:write name="components" property="componentId"/>"><bean:write name="components" property="component" /></option>

          ???????????????????????????????????????????????? </logic:iterate>

          ??????????????? ????????????? </html:select>

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="componentActionForms">

          ????????????????????????????????????????? <b>Error:ComponentActionForms are not present.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:notEqual>

          ??????????????????????????? <logic:equal name="issueActionForm" property="actionType" value="viewDetail">

          ?????????????????????????????????? <logic:present name="issueActionForm">

          ????????????????????????????????????????? <bean:write name="issueActionForm" property="component" />

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="issueActionForm">

          ????????????????????????????????????????? <b>Error:No issue.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:equal>

          ???????????????????? </td>

          ????????????? </tr>

          ??????? <tr width="100%" height="20">

          ??????? ?????? <td class="Forumrow">Environment:</td>

          ??????????? <td class="Forumrow">

          ??????????????????????????? <logic:notEqual name="issueActionForm" property="actionType" value="viewDetail">

          ??????????? ????????????? <logic:present name="environmentActionForms">

          ????????????????????????????????????????? <html:select property="environmentId" size="1">

          ???????????????????????????????????????????????? <logic:iterate id="environments" name="environmentActionForms">

          ??????????????????????????????????????????????????????? <option value="<bean:write name="environments" property="environmentId"/>"><bean:write name="environments" property="environment" /></option>

          ???????????????????????????????????????????????? </logic:iterate>

          ??????????????? ????????????? </html:select>

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="environmentActionForms">

          ????????????????????????????????????????? <b>Error:EnvironmentActionFomrs are not present.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:notEqual>

          ??????????????????????????? <logic:equal name="issueActionForm" property="actionType" value="viewDetail">

          ?????????????????????????????????? <logic:present name="issueActionForm">

          ????????????????????????????????????????? <bean:write name="issueActionForm" property="environment" />

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="issueActionForm">

          ????????????????????????????????????????? <b>Error:No issue.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:equal>

          ???????????????????? </td>

          ????????????? </tr>

          ??????? <tr width="100%" height="20">

          ??????? ?????? <td class="Forumrow">Priority:</td>

          ??????????? <td class="Forumrow">

          ??????????????????????????? <logic:notEqual name="issueActionForm" property="actionType" value="viewDetail">

          ??????????? ????????????? <logic:present name="priorityActionForms">

          ????????????????????????????????????????? <html:select property="priorityId" size="1">

          ???????????????????????????????????????????????? <logic:iterate id="priorities" name="priorityActionForms">

          ??????????????????????????????????????????????????????? <option value="<bean:write name="priorities" property="priorityId"/>"><bean:write name="priorities" property="priority" /></option>

          ???????????????????????????????????????????????? </logic:iterate>

          ??????????????? ????????????? </html:select>

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="priorityActionForms">

          ????????????????????????????????????????? <b>Error:PriorityActionForms are not present.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:notEqual>

          ??????????????????????????? <logic:equal name="issueActionForm" property="actionType" value="viewDetail">

          ?????????????????????????????????? <logic:present name="issueActionForm">

          ????????????????????????????????????????? <bean:write name="issueActionForm" property="priority" />

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="issueActionForm">

          ????????????????????????????????????????? <b>Error:No issue.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:equal>

          ???????????????????? </td>

          ????????????? </tr>

          ??????? <tr width="100%" height="20">

          ??????? ?????? <td class="Forumrow">Flag:</td>

          ??????????? <td class="Forumrow">

          ??????????????????????????? <logic:notEqual name="issueActionForm" property="actionType" value="viewDetail">

          ??????????? ????????????? <logic:present name="flagActionForms">

          ????????????????????????????????????????? <html:select property="flagId" size="1">

          ???????????????????????????????????????????????? <logic:iterate id="flags" name="flagActionForms">

          ??????????????????????????????????????????????????????? <option value="<bean:write name="flags" property="flagId"/>"><bean:write name="flags" property="flag" /></option>

          ???????????????????????????????????????????????? </logic:iterate>

          ??????????????? ????????????? </html:select>

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="flagActionForms">

          ????????????????????????????????????????? <b>Error:FlagActionForms are not present.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:notEqual>

          ??????????????????????????? <logic:equal name="issueActionForm" property="actionType" value="viewDetail">

          ?????????????????????????????????? <logic:present name="issueActionForm">

          ????????????????????????????????????????? <bean:write name="issueActionForm" property="flag" />

          ?????????????????????????????????? </logic:present>

          ?????????????????????????????????? <logic:notPresent name="issueActionForm">

          ????????????????????????????????????????? <b>Error:No issue.</b>

          ?????????????????????????????????? </logic:notPresent>

          ??????????????????????????? </logic:equal>

          ???????????????????? </td>

          ????????????? </tr>

          ????????????? <logic:notEqual name="issueActionForm" property="actionType" value="viewDetail">

          ???????????????????? <tr width="100%" height="20"><td class="Forumrow">

          ??????????????????????????? <html:submit property="submit" value="Submit"/>

          ??????????????????????????? <html:reset value ="Reset"/>

          ???????????????????? </td></tr>

          ????????????? </logic:notEqual>

          ?????? </table>

          ? </html:form>

          <logic:equal name="issueActionForm" property="actionType" value="viewDetail">

          ?

          ? <table width="100%" border="0" cellpadding="1" class="tableborder">

          ??? <logic:present name="issueActionForm" property="issueDatas">

          ??? <tr width="100%" align="left" height="20">

          ????? <th colspan="7" height="28">IssueData List:</th>

          ??? </tr>

          ????????????? <tr width="100%" align="center" height="20">

          ????????????? <td class="forumHeaderBackgroundAlternate" height="23">Priority</td>

          ????????????? <td class="forumHeaderBackgroundAlternate" height="23">User</td>

          ????????????? <td class="forumHeaderBackgroundAlternate" height="23">Flag</td>

          ????????????? <td class="forumHeaderBackgroundAlternate" height="23">StartDay</td>

          ????????????? <td class="forumHeaderBackgroundAlternate" height="23">EndDay</td>

          ????????????? <td class="forumHeaderBackgroundAlternate" height="23">SubmitDay</td>

          ????????????? <td class="forumHeaderBackgroundAlternate" height="23">&nbsp;</td>

          ????????????? </tr>

          ????????????? <logic:iterate id="issueData" name="issueActionForm" property="issueDatas">

          ???????????????????? <tr width="100%" align="center" height="20">

          ???????????????????? <td class="Forumrow"><bean:write name="issueData" property="priority" /></td>

          ???????????????????? <td class="Forumrow"><bean:write name="issueData" property="user" /></td>

          ???????????????????? <td class="Forumrow"><bean:write name="issueData" property="flag" /></td>

          ???????????????????? <td class="Forumrow"><bean:write name="issueData" property="startDay" /></td>

          ???????????????????? <td class="Forumrow"><bean:write name="issueData" property="endDay" /></td>

          ???????????????????? <td class="Forumrow"><bean:write name="issueData" property="submitDay" /></td>

          ???????????????????? <td class="Forumrow">

          ??????????????????????????? <img src="images/edit.gif" border="0" alt="edit selected issuedata">

          ??????????????????????????? <img src="images/delete.gif" border="0" alt="delete selected issuedata">

          ???????????????????? </td>

          ???????????????????? </tr>

          ??? ?????? </logic:iterate>

          ?????? </logic:present>

          ?????? <logic:notPresent name="issueActionForm" property="issueDatas" >

          ????????????? <tr width="100%" align="center" height="20"><td colspan="7">

          ????????????? <p>There is no issuedatas now.</p>

          ????????????? </td></tr>

          ?????? </logic:notPresent>

          ?????? </table>

          ? <table width="100%" border="0" cellpadding="1" class="tableborder">

          ??? <logic:present name="issueActionForm" property="issueDatas">

          ??? <tr width="100%" align="left" height="20">

          ????? <th colspan="5" height="28">IssueChangeLog List:</th>

          ??? </tr>

          ????????????? <tr width="100%" align="center" height="20">

          ????????????? <td class="forumHeaderBackgroundAlternate" height="23">Original</td>

          ????????????? <td class="forumHeaderBackgroundAlternate" height="23">ChangeTo</td>

          ????????????? <td class="forumHeaderBackgroundAlternate" height="23">Reason</td>

          ????????????? <td class="forumHeaderBackgroundAlternate" height="23">User</td>

          ????????????? <td class="forumHeaderBackgroundAlternate" height="23">&nbsp;</td>

          ????????????? </tr>

          ????????????? <logic:iterate id="logData" name="issueActionForm" property="logDatas">

          ???????????????????? <tr width="100%" align="center" height="20">

          ???????????????????? <td class="Forumrow"><bean:write name="logData" property="original" /></td>

          ???????????????????? <td class="Forumrow"><bean:write name="logData" property="changeTo" /></td>

          ???????????????????? <td class="Forumrow"><bean:write name="logData" property="reason" /></td>

          ???????????????????? <td class="Forumrow"><bean:write name="logData" property="user" /></td>

          ???????????????????? <td class="Forumrow">

          ??????????????????????????? <img src="images/edit.gif" border="0" alt="edit selected issuedata">

          ??????????????????????????? <img src="images/delete.gif" border="0" alt="delete selected issuedata">

          ???????????????????? </td>

          ???????????????????? </tr>

          ??? ?????? </logic:iterate>

          ?????? </logic:present>

          ?????? <logic:notPresent name="issueActionForm" property="issueDatas" >

          ????????????? <tr width="100%" align="center" height="20"><td colspan="5">

          ????????????? <p>There is no issuedatas now.</p>

          ????????????? </td></tr>

          ?????? </logic:notPresent>

          ?????? </table>

          </logic:equal>

          ??? </TD>

          ? </TR>

          </table>

          </center></body>

          </html>

          posted on 2005-01-27 14:54 eamoi 閱讀(2082) 評(píng)論(2)  編輯  收藏 所屬分類: Java畢業(yè)設(shè)計(jì)文檔

          評(píng)論:
          # re: MVC設(shè)計(jì)模式的Struts技術(shù)實(shí)現(xiàn)(5) 2005-05-30 19:40 | qiufuguo
          不知道你能不能看見(jiàn),我現(xiàn)在急需要你這片論文的設(shè)計(jì)模型圖,就是5層設(shè)計(jì)里面各層的模型圖,你能幫我提供一下嗎?我也是是要論文答辯,我借用了你的代碼,但模型圖我真的弄不出來(lái),希望你能幫幫我!  回復(fù)  更多評(píng)論
            
          # re: MVC設(shè)計(jì)模式的Struts技術(shù)實(shí)現(xiàn)(5) 2005-05-31 14:34 | eamoi
          There is no other Model Diagram.That is the all.That moment we didn't draw the diagram you want.  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 肥乡县| 莒南县| 香港| 霍邱县| 略阳县| 静宁县| 左贡县| 新乡县| 五家渠市| 铜陵市| 乡城县| 农安县| 舞阳县| 玉树县| 柘荣县| 仪征市| 鄂州市| 大悟县| 凌云县| 清远市| 沙坪坝区| 黄龙县| 东莞市| 肥东县| 左云县| 襄垣县| 旬阳县| 新乡市| 涿鹿县| 迭部县| 怀宁县| 南开区| 博白县| 霍邱县| 镶黄旗| 蓬莱市| 巴马| 富裕县| 沾化县| 商南县| 耿马|