思路:
1、在新闻展示页面newsDetailList.jsp中,新闻标题是个超链接,点击的话就可以跳到新闻展示页面。这这里需要一个参数id,因为每一个新闻的id都是唯一的(之前查询新闻的时候把id也拿出来就是为了这时候做准备),所以可以把这个参数传递到新闻展示页面newsDetailView.jsp中,在这个页面中根据id去拿到相应的新闻。
image.png
2、在新闻展示页面拿到这个id,然后调用Service层的方法去拿到相应的新闻对象:
image.png
3、展示拿到的新闻信息:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@page import="cn.kgc.pojo.News"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@include file="../common/common.jsp" %>
<html>
<head>
<link href="<%=request.getContextPath() %>/css/common.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<%=request.getContextPath() %>/ckeditor/ckeditor.js"> </script>
</head>
<body>
<%
// 新闻详情页面
// 先把传过来的id拿到
int id = Integer.parseInt(request.getParameter("id"));
// 调用后台方法根据该id去查询新闻
News news = newsService.getNewsById(id);
%>
<div class="main-content-right">
<div class="main-text-box">
<div class="main-text-box-tbg">
<div class="main-text-box-bbg">
<div class="article-box">
<!--新闻的标题-->
<h1><%=news.getTitle() %></h1>
<div class="source-bar">发布者:<%=news.getAuthor() %> 分类:新闻信息 更新时间:<%=news.getCreateDate() %> </div>
<div class="article-content">
<span class="article-summary"><b>摘要:<%=news.getSummary() %></b></span>
<%
if (news.getPicPath() == null || news.getPicPath().equals("")) {
%>
新闻图片:暂无<br/>
<%} else {%>
<img src="<%=request.getContextPath() %>/upload/<%=news.getPicPath() %>" alt="" />
<%} %>
<%=news.getContent() %>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
但是在展示的过程中,需要对图片的有无进行判断。如果有图片的话,也不能直接把从数据库中得到的图片的路径写上去,要写这个图片的绝对路径。
4、最终的运行结果如下:
image.png
image.png
网友评论