发表于: 2018-01-17 09:53:57
2 560
编辑日报内容...
今天完成的事情:
完成t10、t11页面
1 t11分析:
t11用到一张表job表,有一个正在学习的人数,是从student表查询出来的
所以学习了连接查询的sql语句
开始写代码:
在controller层调用查询获得每个job的信息,和每个job正在学习的人数
// t11首页
@RequestMapping(value = "/t11")
public String t11Controller(Model model) {
// 获得所有职业 列表形式
List<Job> jobs= jobService.listAllJob();
model.addAttribute("jobs", jobs);
// 获取每个职业,正在学习的人数
List<Long> jobStudyingNumbers = new ArrayList<>();
for (int i = 0; i < jobs.size(); i++) {
Job job = jobs.get(i);
long num = studentService.countJobStudyingNumbers(job);
jobStudyingNumbers.add(num);
}
model.addAttribute("numbers", jobStudyingNumbers);
return "/t11";
}
在service层编写查询的服务:
JobService中获取所有职业信息
@Service
public class JobService {
@Autowired
private JobMapper jobMapper;
public List<Job> listAllJob() {
JobExample example = new JobExample();
JobExample.Criteria criteria = example.createCriteria();
criteria.andIdIsNotNull();
List<Job> jobs = jobMapper.selectByExample(example);
return jobs;
}
}
StudentService中获取正咋学习某项职业的人数
// 查询正在学习某项职业的学生人数
public long countJobStudyingNumbers(Job job) {
Integer jobId = job.getJobId();
StudentExample example = new StudentExample();
StudentExample.Criteria criteria = example.createCriteria();
criteria.andJobIdEqualTo(jobId);
criteria.andIsStudyingEqualTo(1);
long jobStudyingNumbers= studentMapper.countByExample(example);
return jobStudyingNumbers;
}
在jsp文件中,取出数据
<div class="row padding-bottom">
<c:forEach items="${requestScope.jobs}" var="job" varStatus="status">
<div class="col-md-4 col-sm-6 col-xs-12 top-margin">
<div class="warp-border">
<div class="clearfix">
<div class="icon-people"><img src="${APP_PATH}/statics/t11images/687.png"></div>
<div class="text">
<h4 class="">${job.jobName}</h4>
<p class="text-present">${job.introduce}</p>
</div>
</div>
<div class="warp-class2">
<div class="warp-class2-text">
<div class="iconfont text-padding">门槛
<c:forEach var ="i" begin="1" end= "${job.entryBarrier}">
<%-- entryBarrier字段为int,值为几,就添加几个星星 --%>
<img src="${APP_PATH}/statics/t11images/xx.png">
</c:forEach>
</div>
</div>
<div class="warp-class2-text">
<div class="iconfont text-padding text-border-left">难易程度
<c:forEach var ="i" begin="1" end= "${job.difficultLevel}">
<img src="${APP_PATH}/statics/t11images/xx.png">
</c:forEach>
</div>
</div>
</div>
<div class="warp-class2">
<div class="warp-class2-text">
<div class="iconfont text-padding">成长周期
<span class="iconfont-color">${job.growTime}</span>年
</div>
</div>
<div class="warp-class2-text">
<div class="iconfont text-padding text-border-left">稀缺程度 <span class="iconfont-color">${job.firmRequiredNum}</span>家公司需要</div>
</div>
</div>
<div class="warp-class2">
<div class="leftWarp">
薪资待遇
</div>
<div class="rightWarp">
<div class="rightWarp-class">
<div class="rightWarp-year">0-1年</div>
<div class="rightWarp-wages">${job.salary1}K/月</div>
</div>
<div class="rightWarp-class">
<div class="rightWarp-year">0-1年</div>
<div class="rightWarp-wages">${job.salary2}K/月</div>
</div>
<div class="rightWarp-class border-bottom">
<div class="rightWarp-year">0-1年</div>
<div class="rightWarp-wages">${job.salary3}K/月</div>
</div>
</div>
</div>
<div class="warp-class2">
<c:forEach items="${requestScope.numbers}" var="numbers" varStatus="numstatus">
<c:if test="${status.index == numstatus.index}">
<b class="text-b">有${numbers}人正在学</b>
</c:if>
</c:forEach>
</div>
<div class="warp-class2">
<p class="text-p">提示:${job.tips}</p>
</div>
<div class="flip-container">
<p class="flip-title">${job.jobName}</p>
<p class="flip-text">${job.introduce}</p>
</div>
</div>
</div>
</c:forEach>
</div>
查看页面:正常访问:
查看debug信息:sql语句:
首先查出每个职业的信息
然后查出四个职业对应的正在学习的学生人数:
明天计划的事情:
完成任务4
遇到的问题:
刚刚部署好,Nginx处理静态资源出问题,暂时未解决。
更新:已解决:
Nginx静态资源的位置:
复制静态文件到相应位置即可
cp -rf /home/bpzj/data/repo/task4/src/main/webapp/statics /usr/share/nginx/statics/task4/statics
收获:
<c:forEach> 中begin end step varStatus的用法
${status.index} 索引,从0开始。
${status.count} 计数,从1开始。
${status.current} 当前这次迭代的(集合中的)项
${status.first} 判断当前项是否为集合中的第一项,返回值为true或false
${status.last} 判断当前项是否为集合中的最后一项,返回值为true或false
<c:if> 的用法
<div class="warp-class2">
<c:forEach items="${requestScope.numbers}" var="numbers" varStatus="numstatus">
<c:if test="${status.index == numstatus.index}">
<b class="text-b">有${numbers}人正在学</b>
</c:if>
</c:forEach>
</div>
评论