<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-86  評論-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. 先進行參數(shù)分析

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

    ????? 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);

    ??? }

    ??? // 查看單個 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";

    ????? }

    ??? }

    ?? ?// 新建一個 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");

    ????? }

    ??? }

    ??? // 刪除對應(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 閱讀(2074) 評論(2)  編輯  收藏 所屬分類: Java畢業(yè)設(shè)計文檔

    評論:
    # re: MVC設(shè)計模式的Struts技術(shù)實現(xiàn)(5) 2005-05-30 19:40 | qiufuguo
    不知道你能不能看見,我現(xiàn)在急需要你這片論文的設(shè)計模型圖,就是5層設(shè)計里面各層的模型圖,你能幫我提供一下嗎?我也是是要論文答辯,我借用了你的代碼,但模型圖我真的弄不出來,希望你能幫幫我!  回復(fù)  更多評論
      
    # re: MVC設(shè)計模式的Struts技術(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ù)  更多評論
      
    主站蜘蛛池模板: 国产精品免费网站| 拍拍拍又黄又爽无挡视频免费| 久久不见久久见中文字幕免费 | 免费观看的a级毛片的网站| 国产成人A亚洲精V品无码| 国产真人无码作爱免费视频| 一级大黄美女免费播放| 国产在线观看麻豆91精品免费| www国产亚洲精品久久久日本| 久久久久亚洲av成人无码电影| 久久综合久久综合亚洲| 久久ww精品w免费人成| 成人免费无毒在线观看网站| 亚洲卡一卡2卡三卡4卡无卡三| 一级毛片试看60分钟免费播放 | 欧洲美熟女乱又伦免费视频| 亚洲最大的视频网站| 国产羞羞的视频在线观看免费| 亚洲人成色7777在线观看不卡| 亚洲av成人一区二区三区在线播放 | a级毛片100部免费观看| 免费在线观看一级毛片| 亚洲精品V天堂中文字幕| 久久午夜免费视频| 久久久久亚洲AV无码观看| 十八禁在线观看视频播放免费| 亚洲精品一级无码鲁丝片| 色欲aⅴ亚洲情无码AV| 成年女人免费视频播放体验区| 亚洲另类精品xxxx人妖| 日韩精品久久久久久免费| 亚洲成a人片在线观看无码 | 96免费精品视频在线观看| 亚洲阿v天堂在线| 男女拍拍拍免费视频网站| 亚洲国产午夜福利在线播放| 国产青草亚洲香蕉精品久久| 日本免费网站观看| 国产亚洲精品AAAA片APP| 日本特黄特色免费大片| 亚洲高清毛片一区二区|