证书的打印

开发工具与关键技术:VS 证书打印
作者:微凉之夏
撰写日期:2019年5月05日

我们在做每一个项目是都要搭建属于它的页面,页面的搭建我就不说那么多了,但是有一点是要注意的就是因为我们需要获取当前登录的用户的用户ID,所以要在页面中隐藏一个元素,这个元素就是用来接受登录到页面的时候会有把用户ID保存到Session里面,所以要在这里获取当前登录用户它的用户ID:如下:(

@Session[“UserID”]
),搭建好页面之后需要获取下已经把它隐藏好的那个用户ID,也是当前所登录的用户ID,然后声明一个变量为用户ID,根据用户ID来获取元素中的用户ID里面的文本text再给它去空格,这样的话我们就能获取到这个用户ID,接下来就要根据这个用户ID来查询后面所需要的内容。
接下来是写个加载事件,加载好之后需要写个请求(用ajax请求,其中第一个是请求的方法可用post或者get请求的路径查询条件(把上面的UserID转换成int类型传到控制器中)async(设置它是否是异步(它的默认值为true)比如说着个请求如果是异步的话就不需要等待这个方法返回结果时就可以往后面继续执行,如果这里设置为false的话其实就是把它的异步关闭掉,就是说需要等到这个方法返回结果之后再往后面执行下面的代码)success(就是执行成功之后返回的回调函数function给它一个date参数)判断返回值data长度是否大于0,是则当前用户为学生,否则当前用户为老师等等)。如下:
证书的打印
证书的打印证书的打印
再到控制器中写根据用户ID查询学生学号根据学生学号查询学生证书信息根据用户D查询教师编号根据教师编号查询教师证书信息根据用户ID查询用户成绩信息的查询方法,查出之后就判断用户是否已经有证书,再根据实际情况进行新增或者修改。查询方法就不说了,说下判断的内容首先还是的定义一个方法来接收所需要的参数,在方法中写下步骤:先要实例化下证书表根据用户ID来查询用户证书信息判断当前用户是否有证书当前用户已有证书(如果当前用户的最高成绩大于目前已有证书的成绩的话,就修改证书内容。)等等。如下图:
证书的打印
证书的打印
在页面中定义一个方法来接收用户编号,为什么呢?因为我们要跟据用户编号到数据库中这个用户是否有证书,根据用户ID查询用户成绩信息,返回的值一共有三种情况:1、该用户没有参加过考试,所以没有成绩。2、该用户参加了考试,但是并没有及格(就是没有达到合格成绩)3、该用户参加了考试,而且取得了合格的成绩。同样也是用上面的方法来查询者其中的内容(方法基本一样在这里就不写了,可以看上面来写只要改系其中的内容就可以了。),接下来就是证书数据的绑定,先获取证书中所要打印的部分得值分别有:用户名称参加考试时间所得的分数证书的编号颁发证书的时间,这样子的话就把证书的内容获取进来了,还有就是最后一步是把证书生成图片具体操作如下:
证书的打印
最后的结果图拉,首先我用的是超级管理员登录进去是点击证书的打印时是这样的情况这是上面的其中一种情况你没有成级的话它会有提示框出现写上一句:“你还没有成绩,不能打印证书的话”,然后我再用学生的身份登录又是另一种情况喔,因为学生参加了考试,也有一部分是考到了合格的成绩,所以你只要用成绩合格的学生登录的话都会有证书的打印,如下所示:证书的打印
证书的打印