生成证书A

                                                                                 生成证书

做生成证书前我们要先要获取到证书相关信息并且绑定数据,在方法里 一个Data接收数据,在控制台输入它的数据(如下图),获取到我们需要的数据,获取到学生的姓名,证书的考试时间、学生的成绩、证书编号,证书颁发时间,获取到的考试时间的是这样子的格式"2016/12/29 星期四 16:53:04",但是我们不需要这要的的格式,我们需要的只是它那年、月、日,其它的就不需要,所以我们要这串时间进行一个处理。

生成证书A

2016/12/29 星期四 16:53:04当你看到这串数据是怎么你想到时怎么处理的呢?我们用一个split()方法对这串数据进行分割,第一次分割根据它的斜杆分割,分出的结果["2016","12","28 PM 11:35:23"],第一次得到年:2016 和月:12,第二次把这个["28 PM 11:35:23"]分割,根据它的空格进行分割,分出的结果["28","PM","11:35:23"],第二次分割获取到她日:28,证书的颁发时间"2016/12/29 星期四 17:13:04"同样也是像上面的处理一样要分割两次,第一次分割也是按斜杆来分割,得到的结果["2016","12","29 PM 01:04:37"]获取到年和月,第二次分割根据空格分割得到日["29","PM","01:04:37"] ,获取到这些数据后就是绑定数据,把值绑定相应ID

生成证书A

证书的数据绑定后下一步要做就是生成证书了,操作员对表格操作的选中某行数据,我们要获取到到选中行的数据,首先就是获取到选中的行,不知道操作员操作是否选中了数据,所以要对该选中行做一个判断,判断是否选中了数据。如果没有选中数据返回提示操作员选择需要的数据。

对于批量新增证书表格数据的,要做一个操作就是拼接ID,就是操作员所选到的数据拼接起来一起新增,首先声明一个变量用于接收收据,把所有拼起接来的ID放到这变量里。再把这个变量传到控制,要注意的代码AchievementIDs = AchievementIDs.substring(0, AchievementIDs.length - 1);因为拼接出来还会多一个分号要把这个分号去掉,这一步是不可少的,

生成证书A

在页面对数据已经判断过为保险起见通常在控制器也会做一次判断,可以保证数据的正确性减低一些可避免问题,把拼接好的字符串进行分割,把string数据类型转换成int类型数据,用foreach循环把数据一条条提取出来进行判断,根据AchievemenId来判断证书表中是否已经存在与该成绩相应的证书信息,如果没有该证书信息就查询该成绩相应学生的学号,用做编辑证书的编号(代码源于老师)

生成证书A