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

📄 delmodifyaction.java

📁 eclipse java/jsp 航空管理系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*
 * @(#)DelModifyAction.java
 * 
 * 创建日期 2005-4-21
 * Copyright 2005 东软 国际合作事业部. All rights reserved.
 */
package liyong.action;

import liyong.ConnectionPool.*;
import liyong.model.*;
import liyong.form.*;
import java.lang.reflect.InvocationTargetException;
import java.util.Locale;
import javax.servlet.ServletException;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.util.ModuleException;
import org.apache.struts.util.MessageResources;

import zhangchunliang.model.AppMode;

import java.util.*;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Collection;

/**
 * 这个类用来处理View,DelModifyForm以及页面中的动作事件 
 * 它包过添加,删除,更新,查询等 动作事件的处理并把处理结果
 * 传递给DelModifyDAO类来进行数据库操作, 
 * 当动作处理完成后 将要发生跳转,并跳转到指定的页面
 * 
 * @see View
 * @see DelModifyDAO
 * @see DelModifyForm
 * @see Connection
 * @author 李勇
 */

public final class DelModifyAction extends Action {
    /** 定义日志文件 */
    private Log log = LogFactory.getLog("org.apache.struts.webapp.Example");

    /** 建立数据池对象 */
    DbConnection db = null;

    Connection con = null;

    /** 构造函数进行类的初始化建立数据池连接 */
    /** 处理各种动作事件并跳转到各自的要到的页面 */
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        if (!AppMode.getAppMode()) {
            System.out.println("Application is terminated...");
            return mapping.findForward("appInfo");
        }

        Locale locale = getLocale(request);
        MessageResources messages = getResources(request);
        /** 建立会话 */
        HttpSession session = request.getSession();
        /** 建立DelModifyForm对象 */
        DelModifyForm m_ViewForm = (DelModifyForm) form;
        /** 建立List对象myList */
        List myList = new ArrayList();
        /** 建立PlaneFno对象list */
        PlaneFno list = new PlaneFno();
        /**
         * list调用它的getSelect(参数)方法 从flight表中得到记录并把它传递给myList
         */
        myList = list.getSelect("flight");
        /** 将myList的内容传递给delmodify.jsp中的下拉框myList */
        request.setAttribute("myList", myList);
        /** 建立List对象myList2 */
        List myList2 = new ArrayList();
        /** 建立PlaneFcountry对象list2 */
        PlaneFcountry list2 = new PlaneFcountry();
        /**
         * list2调用它的getSelect(参数,参数)方法 从flight表中得到记录并把它传递给myList2
         */
        myList2 = list2.getSelect("fcountry", "flight");
        /** 将myList2的内容传递给delmodify.jsp中的下拉框myList2 */
        request.setAttribute("myList2", myList2);
        /** 建立List对象myList3 */
        List myList3 = new ArrayList();
        /** 在myList3中添加数据 */
        myList3.add("请选择");
        myList3.add("出境");
        myList3.add("入境");
        /** 将myList3的内容传递给delmodify.jsp中的下拉框myList3 */
        request.setAttribute("myList3", myList3);
        /** 建立List对象myList4 */
        List myList4 = new ArrayList();
        /** 建立PlaneFcity对象list4 */
        PlaneFcity list4 = new PlaneFcity();
        /** list4调用它的getSelect()方法得到记录并把它传递给myList4 */
        myList4 = list4.getSelect();
        /** 将myList4的内容传递给delmodify.jsp中的下拉框myList4 */
        request.setAttribute("myList4", myList4);
        /** 将myList4的内容传递给delmodify.jsp中的下拉框myList5 */
        request.setAttribute("myList5", myList4);
        /** 建立PlaneFcom对象list6 */
        PlaneFcom list6 = new PlaneFcom();
        /** 建立List对象myList6 */
        List myList6 = new ArrayList();
        /** list6调用它的getSelect()方法得到记录并把它传递给myList6 */
        myList6 = list6.getSelect();
        /** 将myList6的内容传递给delmodify.jsp中的下拉框myList6 */
        request.setAttribute("myList6", myList6);
        /** 建立Connection 对象 */
        Connection con = null;
        /** 建立一个六个数据的数组用来判断6个下拉框的是不是为空 */
        int count[] = { 1, 1, 1, 1, 1, 1 };
        /** 有5个数据的数组count2是用来判断sql语句是不是需要加上"and" */
        int count2[] = { 0, 0, 0, 0, 0 };
        /** flag用来确定最后要跳转的页面的 */
        boolean flag = false;
        int t = 0;
        /** 从这里开始捕获各种动作的异常 */
        try {
            /** 连接数据库 */
            db = new DbConnection();
            con = db.getCon();
            /** 定义DAO对象,用于实现数据库的各种操作 */
            DelModifyDAO m_ViewDAO = new DelModifyDAO(con);
            /** 得到是那种动作类型 */
            String action = request.getParameter("action");
            /** 得到数据库查找的方式 */
            String search = request.getParameter("search");
            /** 参数,这里用于保存记录(行)的fno数据 */
            String expression = request.getParameter("expression");
            /** 如果没有指定动作类型则动作类型采用默认的数据类型 */
            if (action == null)
                action = "find";
            /** 如果没有指定的查找方式则采用不进行查找方式 */
            if (search == null)
                search = "UNsearch";
            /** 没有指定关键字 */
            if (expression == null)
                expression = "";
            /** 处理中文问题,实现编码转换 */
            expression = toChinese(expression);
            /** 查询要处理的sql语句 */
            String sql = "select fno,fcountry,fcom,iout from flight";
            /** 查询记录 */
            if ("search".equals(search)) {

                sql += " where";
                /** 如果没有制定关键字的话采用下面的方法进行查询 */
                if ("NULL".equals(expression) || "".equals(expression)) {

                    View m_View = new View();
                    /** 判断第一个下拉框是否被选择 */
                    if ("请选择".equals(toChinese(m_ViewForm.getSelect())))
                        count[0] = 0;
                    /** 判断第二个下拉框是否被选择 */
                    if ("请选择".equals(toChinese(m_ViewForm.getSelect2())))
                        count[1] = 0;
                    /** 判断第三个下拉框是否被选择 */
                    if ("请选择".equals(toChinese(m_ViewForm.getSelect3())))
                        count[2] = 0;
                    /** 判断第四个下拉框是否被选择 */
                    if ("请选择".equals(toChinese(m_ViewForm.getSelect6())))
                        count[5] = 0;
                    /** 建立PlaneFcity对象 */
                    PlaneFcity fsearchcity = new PlaneFcity();
                    /** 建立一个字符串对象用来得到fsearchcity传回来的值 */
                    String str = "";
                    /** 建立一个链表对象将选择的城市名加入到链表中去 */
                    List myListAdd = new ArrayList();
                    /** 判断起点城市是否为空 */
                    if ("请选择".equals(toChinese(m_ViewForm.getSelect4())))
                        count[3] = 0;
                    else {
                        myListAdd.add(toChinese(m_ViewForm.getSelect4()));
                    }
                    /** 判断终点城市是否为空 */
                    if ("请选择".equals(toChinese(m_ViewForm.getSelect5())))
                        count[4] = 0;
                    else {
                        myListAdd.add(toChinese(m_ViewForm.getSelect5()));
                    }
                    /** 用字符串得到fsearchcity传回来的值 */
                    str = fsearchcity.getNumber(myListAdd);
                    /** 如果起点,终点都不为空的话在字符串中加入模糊查询需要的% */
                    if ((count[3] == 1) && (count[4] == 1)) {
                        for (int i = 0; i < str.length() - 1; i++) {
                            if (str.substring(i, i + 1).equals("|")) {

                                t = i + 1;
                                break;
                            }
                        }

⌨️ 快捷键说明

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