`
zisefeiniao
  • 浏览: 172503 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

今天项目的任务很多啊

阅读更多
计划内任务

任务编号
任务名称
最晚结束日期
工作量
任务完成标准
完成状态

1
修改区域删除部分
2009/05/04
2009/05/04
被企业表[company]表外键引用的区域信息不可以删除,系统给出提示“无法删除区域 XXX ,该数据已被引用!”。
Y

2
企业列表
2009/05/04
2009/05/04
在系统管理页,点击 企业 ,从企业表中查询出全部数据显示到列表页中,并添加分页,在右上方添加“新建企业客户”按钮。
Y

3
新增企业
2009/05/04
2009/05/04
在企业列表界面中点击“新建企业客户”按钮,系统转到新增企业界面,界面中显示如下字段:

企业名称: (非空验证,唯一性验证)

联系人: (非空验证)

联系方式: (非空验证)

企业地址: (非空验证)

信用级别: (非空验证,数字类型验证)

信用额度: (非空验证,数字类型验证)

所在区域:(下拉列表,显示系统的区域元数据)

用户在新增企业界面上点击“确定”按钮,系统将企业信息保存到数据库中。并返回企业列表页面,系统提示“新增成功!”。
Y

4
修改企业
2009/05/04
2009/05/04
区域列表界面中点击“修改”按钮,系统转到修改区域界面,界面中显示此企业用户的相应信息,更新数据后,用户在修改区域界面上点击“更新”按钮,系统将修改后的企业信息保存到数据库中。并返回企业列表页面,系统提示“修改成功!”。
Y

5
删除企业
2009/05/04
2009/05/04
用户在企业列表界面中点击“删除”按钮,系统提示“确认要删除该企业吗?”,用户确认后,删除用户所选数据,删除所选数据后,刷新企业列表页,并提示“删除成功!”,被TASK表外键引用的企业信息不可以删除,系统给出提示“无法删除, 该数据已被引用!”。
P

6
查看企业
2009/05/04
2009/05/04
在企业列表界面中点击“查看”按钮,系统转到企业详细信息界面,界面中显示相应信息。用户在企业详细信息界面上点击“返回列表”按钮,系统将返回企业列表页面。
Y

7
服务项目列表
2009/05/04
2009/05/05
在系统管理页面中,点击项目按钮,查询出全部项目信息,列表显示于引页面中,并添加分页,右上角添加“新建任务项目”按钮。
Y

8
新增服务项目
2009/05/04
2009/05/05
在服务项目列表界面中点击“新增”按钮,系统转到新增服务项目界面,界面中显示如下字段:

项目名称(非空验证,唯一性验证)

处理费用(非空验证,数字类型验证)

处理时间(非空验证,数字类型验证)

用户在新增服务项目界面上点击“确定”按钮,系统将服务项目信息保存到数据库中。并返回服务项目列表页面,系统提示“新增成功!”。
Y

9
修改服务项目
2009/05/04
2009/05/05
在服务项目列表界面中点击“修改”按钮,系统转到修改界面,界面中显示此任务的详细信息于相应位置,用户在修改界面上点击“更新”按钮,系统将修改后的服务项目信息保存到数据库中。并返回服务项目列表页面,系统提示“修改成功!”。
Y

10
删除服务项目
2009/05/04
2009/05/05
用户在服务项目列表界面中点击“删除”按钮,系统提示“确认要删除该项目吗?”,用户确认后,删除用户所选服务项目,删除所选数据后,刷新服务项目列表页,并提示“删除成功!”,被任务表[task]外键引用的服务项目信息不可以删除,系统给出提示“无法删除XXX ,该数据已被引用!”。
Y

11
查看服务项目
2009/05/04
2009/05/05
在服务项目列表界面中点击“查看”按钮,系统转到项目详细信息界面,根据此项目id查询出详细信息显示到页面中。用户在详细信息界面上点击“返回列表”按钮,系统将返回服务项目列表页面。
Y


 
 
 
 
 


 
 
 
 
 

临时任务


 
 
 
 
 


 
 
 
 
 




遇到的问题及解决方式
4.1.1. 关于客户端跳转传递参数的中文乱码问题
问题:
添加企业信息
1、页面代码:
<tr>
<td width="80" align="left" class="text_14_gray">企业名称:</td>
<td width="200" align="left" class="text_14_gray"><input type="text" name="title" onchange="checkTitle(this.value);" value="${requestScope.title }">
<span id="checkTitle" style="color:#6600FF">${requestScope.useableness}</span>
</td>
</tr>
当输入企业名称后,进行名称唯一性检查(通过JavaScript跳转)
function checkTitle(title){
      var type="insert";
      window.location = "<%=request.getContextPath()%>/logincheck/admin/CompanyServlet?operateType=checktitle&title="+title +"&type="+type ;
     }

这样就涉及到传递输入的企业名称title,如果是中文,接收的时候会出现乱码

2、CompanyServlet代码
if("checktitle".equals(operateType)){
   String type=request.getParameter("type");

  String title=request.getParameter("title");

String title=new String(request.getParameter("title").getBytes("ISO8859-1"));
  
   Company com=null;
   try {
    com = DAOFactory.getICompanyDAOInstance().findByCompanyTitle(title);
   } catch (Exception e) {
    e.printStackTrace();
   }
   String useableness="该企业信息已存在!";
   if(com==null){   
    useableness="该企业名称可用!";
   }
   request.setAttribute("useableness", useableness);
   if("insert".equals(type)){
    path="/logincheck/admin/CompanyServlet?operateType=insertpre&useableness="+useableness+"&title="+title;
   }else if("update".equals(type)){
    int id=Integer.parseInt(request.getParameter("id"));
    path="/logincheck/admin/CompanyServlet?operateType=updatepre&useableness="+useableness+"&title="+title+"&id="+id;
   }
  }else if("insertpre".equals(operateType)){
   Map<Integer,String> allArea=null;
   try {
    allArea=DAOFactory.getIAreaDAOInstance().getAllArea();
   } catch (Exception e) {
    e.printStackTrace();
   }
  
   String useableness=request.getParameter("useableness");
   request.setAttribute("useableness", useableness);
  
   String title=request.getParameter("title");
   request.setAttribute("title", title);
  
   request.setAttribute("allArea", allArea);
   path="/logincheck/admin/addcompany.jsp";
  
  }else if("insert".equals(operateType)){
   String title=request.getParameter("title");
   String linkman=request.getParameter("linkman");
   String tel=request.getParameter("tel"); 
   String address=request.getParameter("address"); 
   Double creditsLimit=Double.parseDouble(request.getParameter("creditsLimit"));
  
   int areaid=Integer.parseInt(request.getParameter("areaid"));
   String atitle=null;
   try {
    atitle=DAOFactory.getIAreaDAOInstance().getAreaTitleByAreaId(areaid);
   } catch (Exception e) {
    e.printStackTrace();
   }
     
   Company com=new Company();
   com.setTitle(title);
   com.setAreaid(areaid);
   com.setAtitle(atitle);
   com.setLinkman(linkman);
   com.setTel(tel);
   com.setAddress(address);
   com.setCreditsLimit(creditsLimit);
  
   boolean flag=false;
   try {
    flag=DAOFactory.getICompanyDAOInstance().doInsert(com);
   } catch (Exception e) {
    e.printStackTrace();
   }
  
   if(flag){
    info="添加成功!!";
   }else{
    info="添加失败!!";
   }
   request.setAttribute("info", info);
  
   forward="logincheck/admin/CompanyServlet?operateType=companymanage";
   request.setAttribute("forward", forward);
  
   path="/logincheck/message.jsp"; 
  
  }


解决方法:修改CompanyServlet代码
  if("checktitle".equals(operateType)){
   String type=request.getParameter("type");

  //String title=request.getParameter("title");
//这样中文会乱码

String title=new String(request.getParameter("title").getBytes("ISO8859-1"));
  
   Company com=null;
   try {
    com = DAOFactory.getICompanyDAOInstance().findByCompanyTitle(title);
   } catch (Exception e) {
    e.printStackTrace();
   }
   String useableness="该企业信息已存在!";
   if(com==null){   
    useableness="该企业名称可用!";
   }
   request.setAttribute("useableness", useableness);
   if("insert".equals(type)){
    path="/logincheck/admin/CompanyServlet?operateType=insertpre&useableness="+useableness+"&title="+title;
   }else if("update".equals(type)){
    int id=Integer.parseInt(request.getParameter("id"));
    path="/logincheck/admin/CompanyServlet?operateType=updatepre&useableness="+useableness+"&title="+title+"&id="+id;
   }
  }else if("insertpre".equals(operateType)){
   Map<Integer,String> allArea=null;
   try {
    allArea=DAOFactory.getIAreaDAOInstance().getAllArea();
   } catch (Exception e) {
    e.printStackTrace();
   }
  
   String useableness=request.getParameter("useableness");
   request.setAttribute("useableness", useableness);
//此处属于服务器跳转过来的,不用特殊处理,特殊处理了反而出现???
//   if(request.getParameter("useableness")!=null){
//    request.setAttribute("useableness", new String(request.getParameter("useableness").getBytes("ISO8859-1")));
//   }
  
   String title=request.getParameter("title");
   request.setAttribute("title", title);
//此处属于服务器跳转过来的,不用特殊处理???
//   if(request.getParameter("title")!=null){
//    request.setAttribute("title", new String(request.getParameter("title").getBytes("ISO8859-1")));
//   }
  
   request.setAttribute("allArea", allArea);
   path="/logincheck/admin/addcompany.jsp";
  
  }else if("insert".equals(operateType)){
   String title=request.getParameter("title");
   String linkman=request.getParameter("linkman");
   String tel=request.getParameter("tel"); 
   String address=request.getParameter("address"); 
   Double creditsLimit=Double.parseDouble(request.getParameter("creditsLimit"));
  
   int areaid=Integer.parseInt(request.getParameter("areaid"));
   String atitle=null;
   try {
    atitle=DAOFactory.getIAreaDAOInstance().getAreaTitleByAreaId(areaid);
   } catch (Exception e) {
    e.printStackTrace();
   }
     
   Company com=new Company();
   com.setTitle(title);
   com.setAreaid(areaid);
   com.setAtitle(atitle);
   com.setLinkman(linkman);
   com.setTel(tel);
   com.setAddress(address);
   com.setCreditsLimit(creditsLimit);
  
   boolean flag=false;
   try {
    flag=DAOFactory.getICompanyDAOInstance().doInsert(com);
   } catch (Exception e) {
    e.printStackTrace();
   }
  
   if(flag){
    info="添加成功!!";
   }else{
    info="添加失败!!";
   }
   request.setAttribute("info", info);
  
   forward="logincheck/admin/CompanyServlet?operateType=companymanage";
   request.setAttribute("forward", forward);
  
   path="/logincheck/message.jsp"; 
  
  }

修改的企业信息页面代码中,还需要注意,当添加了检查企业名称是否唯一的功能后,需要修改代码
    <tr>
      <td width="80" align="left" class="text_14_gray">企业名称:</td>
      <td width="200" align="left" class="text_14_gray">
      <%
      String title=(String)request.getAttribute("title");
      if(title!=null){
      %>
      <input type="text" name="title" onchange="checkTitle(this.value);" value="${requestScope.title }">
      <%
      }else{
      %>
      <input type="text" name="title" onchange="checkTitle(this.value);" value="${requestScope.company.title }">
      <%
      }
       %>
      <span id="checkTitle" style="color:#6600FF">${requestScope.useableness}</span>
      </td>
    </tr>

否则修改后的名称返回不到页面中,一返回就被原来的数据覆盖


分享到:
评论

相关推荐

    软件项目任务分解(“分解”相关文档)共44张.pptx

    软件项目任务分解的类型有很多,例如清单、图表等。每种类型都有其特点和优点,项目经理可以根据项目的特点和需求选择合适的任务分解类型。 在项目执行过程中,WBS可以用于跟踪项目的进度和状态,以便于项目经理和...

    多线程多任务的下载工具

    综上所述,这个“多线程多任务的下载工具”项目使用C#语言开发,基于Windows Forms构建用户界面,并利用多线程技术实现并发下载。用户可以通过直观的界面来管理多个下载任务,而`ThreadMulti.cs`和`UI.cs`文件则承担...

    Arduino多任务调度器,实现多任务的轻量级库

    从“TaskScheduler-master”这个压缩包文件名来看,这很可能是这个多任务调度器的源代码仓库。"master"分支通常代表项目的主要或默认分支,其中包含了最新的稳定版本代码。开发者可以下载并研究这些代码,理解其工作...

    android发布任务小项目

    这个小项目涵盖了Android开发的多个方面,对于学习Android开发的初学者或希望提升技能的开发者来说,具有很高的实践价值。通过这个项目,开发者可以深入理解Android应用的架构设计,熟悉数据管理,以及如何构建一个...

    多任务多线程下载器源码

    2. "多任务下载工具.e":这是主程序文件,很可能包含了多任务下载器的核心逻辑,包括任务调度、线程管理、下载进度跟踪等功能。 3. "ly_wlyz_static.lib":这是一个静态链接库文件,可能包含了一些辅助功能或底层...

    人工智能-项目实践-多任务-一个支持多线程,断点续传功能的Android下载工具.zip

    人工智能-项目实践-多任务-一个支持多线程,断点续传功能的Android下载工具 功能特性 断点续传 支持多线程 (目前版本仅支持单任务单线程,多任务才多线程,未来会继续完善单任务的多线程执行) 使用本项目的理由 可靠...

    qt多任务下载实例

    在本文中,我们将深入探讨如何使用Qt框架实现多任务下载功能。Qt是一个强大的跨平台应用程序开发框架,广泛用于创建...对于Qt初学者,这是一个很好的实践案例,有助于理解如何在实际项目中应用多线程和网络编程技术。

    汇编实模式实现多任务源码

    在80x86架构的早期,计算机运行在实模式下,这是一种限制性很强的模式,但通过巧妙的编程技巧,可以实现多任务处理。下面我们将详细探讨这个主题。 实模式是Intel 8088/8086处理器启动时默认的工作模式,它提供了1...

    多任务管理系统

    【多任务管理系统】是一个基于C#编程语言和WinForm框架开发的应用程序,旨在提供一个高效的任务分配、查询和更改的管理平台。对于初学者来说,这个项目是一个很好的学习资源,因为它的代码注释详尽,有助于理解每个...

    多任务同时下载源码.zip易语言项目例子源码下载

    本项目“多任务同时下载源码”是易语言编程环境下实现的一个实用示例,主要展示了如何在易语言中实现多线程、多任务的文件下载功能,对于个人学习、学生毕业设计以及小团队项目开发具有很高的参考价值。 首先,多...

    IOS-多线程多任务下载

    尤其是在处理大文件下载时,传统的单线程下载方式可能会导致用户界面阻塞,无法进行其他操作,而多线程多任务下载则可以很好地解决这个问题。本文将详细讲解iOS中实现多线程多任务下载的核心知识点。 首先,我们...

    多任务多线程断点下载demo

    标签“工具”表明这个示例可能是一个实用工具,可以被开发者用于他们的项目中,或者作为教学材料来帮助学习者理解多任务下载的实现方式。 “ListviewAndProgressBar”这个压缩包子文件的名称暗示了项目中可能使用了...

    软件项目管理 5.3.敏捷任务分解.doc

    5. 任务分解的好处:敏捷项目任务分解可以使得项目需求更加明确和具体,提高项目的可管理性和可控性。 6.敏捷任务分解的步骤:敏捷任务分解的步骤包括将 Epic 分解成多个 story,将编写完成的 story 汇总到 backlog...

    stc15协同多任务例程keilC源码

    标题中的"stc15协同多任务例程keilC源码"主要涉及两个关键概念:STC15系列单片机和基于Keil C的协同多任务编程。STC15系列是STC公司生产的一系列8051内核的增强型单片机,它们具有低功耗、高速度和丰富的内置功能。...

    软件开发文档很多实用的软件开发项目

    本文将深入探讨“软件开发文档很多实用的软件开发项目”这一主题,结合“课件”、“软工阅读资料”和“上机任务”等文件,解析软件开发文档的重要性和实际应用。 首先,我们需要理解软件开发文档的种类及其作用。...

    taskPHP基于php开发的定时计划任务框架,多进程实现任务的分配和运行

    `taskPHP-master`目录很可能包含了框架的核心文件、示例任务、配置文件以及必要的文档。开发者可以通过阅读这些文件了解如何定义任务、配置调度规则以及如何启动和管理任务。 ### 7. 安装与使用 安装`taskPHP`通常...

    安卓多线程多任务下载源码

    6. **源码分析**:提供的"demo"文件很可能是实现多线程多任务下载的一个示例项目。通过分析这个示例,开发者可以学习如何创建和管理下载线程,以及如何实现断点续传功能。这有助于理解底层逻辑,从而在实际项目中更...

    furion内置的定时任务使用学习,动态添加定时任务代码

    在这个例子中,项目可能包含了一些学习示例,如`Job`目录下的类,这些类可能代表了具体的定时任务实现,每个类通常会继承自`IFurionJob`接口,这个接口定义了任务的执行逻辑。 `appsettings.json` 和 `appsettings....

    多任务多线程demo.zip_C#_C# 多任务下载_下载_多任务_多线程

    这个"多任务多线程demo.zip"是一个示例项目,展示了如何利用C#来实现一个多线程文件下载功能。下面我们将深入探讨这个主题。 首先,多任务是指在一个应用程序中同时运行多个独立的操作。在C#中,我们可以使用`Task`...

    C语言和汇编写的ARM多任务内核程序

    具体到名为“MYOS”的文件,这很可能是这个多任务内核的源代码或相关文档。通过深入研究这些文件,可以更详细地了解内核的设计和实现细节,如任务结构定义、调度算法的具体实现、时间服务的代码以及互斥机制的运用。...

Global site tag (gtag.js) - Google Analytics