团队冲刺(四)

弯弓与烈码小组

 

一、项目燃尽图

 

 

 

二、项目进展

已完成

  • 添加的后台实现
  • 添加)的后端处理代码

 

  • (重点进度)

功能介绍:模版添加如下:

 

<%@ include file="/files/db/conn.jsp"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<link rel="stylesheet" rev="stylesheet" href="css/style.css" type="text/css" media="all" />                                      //链接样式

<style type="text/css">

<!--

.atten {font-size:12px;font-weight:normal;color:#F00;}  //字体样式

-->

</style>

<%

if(request.getParameter("flag")!=null&&"success".equals(request.getParameter("flag")))      

//.获取通过http协议提交过来的数据.       通过容器的实现来取得通过get或者post方式提交过来的数据会从web客户端传到web服务器端,代表HTTP请求数据,该方法返回String类型的数据

{

response.getWriter().println("<script>alert('添加成功!');</script>");

}     

 //response是指一个servlet的形式参数HttpServletResponse的对象。
返回一个printerWriter的对象,是一个输出流的对象。response.getwriter().println()可以输出html类型的标签,还可以输出一个对象。

%>

<script type="text/javascript">

function checkValue(){

if(document.form.title.value==""||document.form.title.value==null)

{

alert("不能为空!");

document.form.title.focus();

return false;

}

//如果输入为空,则弹出提示对话框“不能为空”。
其中,如果输入内容是空字符串(长度为0)或者字符串都是由空格组成的,则认为是空。

if(document.form2.file.value.replace(/[ ]/g,"")==""){

 alert("请选择文件!");

 return false;

}

document.form.submit();

}

function Upload(){

if(document.form2.file.value.replace(/[ ]/g,"")==""){

 alert("请选择文件!");

}else{

document.form2.action="/fileweb/files/file/upload.jsp";

document.form2.target="_blank";

document.form2.submit();

}

   }

</script>

</head>

 

<body class="ContentBody">

  <form action="files/file/addDao.jsp" method="post"  name="form" >

//当表单提交时向何处发送表单数据。

 

<div class="MainDiv">

<table width="99%" border="0" cellpadding="0" cellspacing="0" class="CContent">

   <tr>

      <td height="10"> </td>

  </tr>

  <tr>

      <td align="left" ><font color="blue">     发送文件>>添加</font></td>

  </tr>

  <tr>

    <td class="CPanel">

<table border="0" cellpadding="0" cellspacing="0" style="width:100%">

<tr>

<td width="100%">

<fieldset style="height:100%;">

<legend>文件</legend>

  <table border="0" cellpadding="2" cellspacing="1" style="width:100%">

  <tr>

    <td align="right" width="19%">标题:</td>

    <td width="35%"><span class="red">

        <input name='title' type="text" class="text" style="width:354px" value=""/>

        <input name='fileName' id="fileName" type="hidden" />

        *</span>

        </td>

  </tr>

  <tr>

    <td align="right" width="19%">备注:</td>

    <td width="35%"><span class="red">

    <textarea name='remark' rows="4" cols="60"></textarea>

        *</span>

        </td>

  </tr>

  <tr>

    <td align="right" width="19%">收件人:</td>

    <td width="35%"><span class="red">

    <select name='touser' >

<%

ResultSet rs = null;

String sql = "select * from t_user where role =2";

rs = stmt.executeQuery(sql);

while(rs.next()) {

%>

<option value="<%=rs.getString("id") %>" ><%=rs.getString("realname") %> </option>

//获取当前记录的第(id)列数据

<%

}

%>   

</select>

        *</span>

        </td>

  </tr>

  <tr>

    <td align="right" width="19%">文件类型:</td>

    <td width="35%"><span class="red">

    <select name='typeid' >

<%

stmt1 = conn.createStatement();

//访问数据库的时候,在读取返回结果的时候,可能要前后移动指针,比如我们先计算有多少条信息,这是我们就需要把指针移到最后来计算,然后再把指针移到最前面,逐条读取,有时我们只需要逐条读取就可以了。还有就是有只我们只需要读取数据,为了不破坏数据,我们可采用只读模式,有时我们需要望数据库里添加记录,这是我们就要采用可更新数据库的模式。

ResultSet rs1 = null;

String sql1 = "select * from t_filetype";

rs1 = stmt1.executeQuery(sql1);

//stmt1.executeQuery把数据库响应的查询结果存放在ResultSet类对象中供使用。

while(rs1.next()) {

%>

<option value="<%=rs1.getString("id") %>" ><%=rs1.getString("typename") %> </option>

      <%

}

%>   

</select>

        *</span>

        </td>

  </tr>

  </form>

 <form method="post" name="form2" id="form2" enctype="multipart/form-data" >  //发送表单数据(表单数据发送到 action 属性所规定的页面)。

  <tr>

    <td align="right" width="19%">上传附件:</td>

    <td width="35%"><span class="red">

        

        <input name="file" type="file" class="Style_upload" id="file">

        <input type="button" name="Submit2" value="上传" onClick="Upload()">

        </span>

        </td>

  </tr>

  </form>

  </table>

  <br />

</fieldset> </td>

 

</TR>

 

 

 

</TABLE>

 

 

 </td>

  </tr>

 

<TR>

<TD colspan="2" align="center" height="50px">

<input type="button" name="submitbut" value="保存" class="button"  onClick="return checkValue()" /> 

//button定义可点击按钮(多数情况下,用于通过 JavaScript 启动脚本)。

submitbut定义提交按钮。提交按钮会把表单数据发送到服务器。

checkValue 定义复选框。

 

<input type="reset" name="reset" value="重置" class="button"  /></TD>

</TR>

</TABLE>

</div>

 

</body>

</html>

 

 

四、查缺补漏

 

今日进展

存在问题

明日安排

马梓峻

本来打算写提交页面,但是发现自己还不会分页,就直接先写数据库,然并没有写完

对tp框架的使用不够熟练,很多东西都是看一会写一会。果然看教程还是应该边看边写,边学边练才能扎实

把昨天没写完的数据库结果完成,看看分页

王冠霖

完成了前端的修改

信息列表界面不够完善,bootstrap的框架不熟悉,而且学长的一些css和js也不懂

学习css

张耀元

看完了ThinkPhp5框架的基础、架构、控制器,正在看数据库

看框架的时候没注意,把第二部分一些可以暂时省略的内容当成了基础看,看的云里雾里,挣扎了半天才发现不用看

把数据库看了,模型和视图过一遍,其他的有时间就先留给印象,没时间先省略掉,看完后开始着手敲代码

覃泳龙

继续完善了“管理员时间界面”,看了 bootstrap 网格系统

因为之前看了 css 基础,就直接纯手敲css样式来实现界面,这样太费劲!虽然有听说过bootstrap,但是因为太懒,就没有去看使用方法。有了纯手敲css的体验,决定还是花一些时间看看bootstrap,提高一下效率

学习bootstrap,为后面的界面编写做准备

潘浩东

主要是在改导师分配算法,还有着手进行导师分配情况界面的设计

因为ACM的缘故,前端学习的进度较慢

打算用模拟数据测试下分配算法,然后继续进行页面设计

张运鼎

大体完成了匹配设置界面,点击可选按钮,弹出可选的浮窗

分配算法已经实现,但是如果要实现的话还需要把算法单独写成库导入到框架中使用,但是目前不知道如何解决

完成匹配设置界面的后台功能,包括正常显示未分配到管理员列表和用户界面的列表,并且可以实现手动分配,完成分页功能

兰天奇

冲刺博客的撰写,项目进度的把控

运动会的到来,时间安排有点紧

根据组员的进度以及安排,继续督促相应任务的完成,把控整体进度

五、心得体会

王冠霖

这一次的冲刺会议,比较里程碑式的进展便是导师分配算法的完成。我们根据需求分析,然后汲取结对编程时的一些经验,确定了算法的大体思路。

 

覃泳龙

虽然都是php框架,也都是MVC思想,但是不得不说差别真不少啊,之前看完的那些教程,好像基本全忘了,边看边写,总算写了点东西出来。

 

张耀元

学习的时候比较赶,很多知识都是草草过一遍,记得不劳,也不透彻,虽然开始做的时候已经把知识大体上过一遍了,但估计还要反复回去学,还是要边学边做,不过好在有个印象,也稍微了解了框架的结构,日后去学习也知道去哪里学,而且组里还有两个PHP老司机,可以请教。

 

张运鼎

虽然都是php框架,也都是MVC思想,但是不得不说差别真不少啊,之前看完的那些教程,好像基本全忘了,边看边写,总算写了点东西出来。

 

潘浩东

最主要的算法实现分配的功能还不知道要如何导入到框架中实现,准备向其他的phper请教一下。

兰天奇

这次会议看见队友这么用心,一起讨论做出一件事情还是很好的,很感谢有他们的陪伴,感谢娄老师带给我们这样一个机会,最后的冲刺了,希望大家加油,也存在很多不足吧,这次实践也算是一种锻炼,学到了很多东西,对于Java有了一定理解。

马梓峻

这次冲刺,有里程碑的意义,我们根据要求,做了详细的需求分析,完成了大体的内容,我觉得最重要的是,要在学习中发现问题,发现问题中,解决问题。磨刀不误砍柴功!多花点时间熟悉前端框架的使用,可以提高编写页面的效率。

posted @ 2020-11-29 21:20  20181335ZYY  阅读(68)  评论(0编辑  收藏  举报