S2SH整合以及图片上传(8)之显示图片

    本篇文章,来讲一下图片的显示。

    因为,我们是把图片放置到了服务器,而把其路径保存至了数据库,所以我们可以直接取出路劲,来在界面显示出图片。

    友情提示:如果你是将图片保存在了项目的WEB-INF目录下,那么,你的图片是受保护的,无法单纯的在界面取出路劲来显示,中间需要一个action来实现图片的路径取出,然后再在页面显示。

    不过这里,我们没有将图片存到WEB-INF目录下,所以不必如此麻烦,直接从数据库取出路劲就可以显示了。

    第一步,我们现在index.jsp中加一个链接:

    

    代码如下:

	<a href="${pageContext.request.contextPath}/person/person!list">显示人员</a>

    第二步,我们需要创建一个list.jsp页面来显示图片:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>List Person Page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
</head>

<body>
   	<h2>S2SH整合以及图片上传</h2>
   	<h2>显示人员</h2>
	<table border="1">
		<tr>
			<td>用户id</td>
			<td>用户姓名</td>
			<td>用户图片路径</td>
		</tr>
		<c:forEach items="${personList}" var="person">
			<tr>
				<td>${person.id}</td>
				<td>${person.name}</td>
				<td>${person.imgurl}</td>
			</tr>
		</c:forEach>
	</table>
	<hr />
	<c:forEach items="${personList}" var="person">
		<dl>
			<dt>
				<img src="${person.imgurl}" alt="图片无法显示" height="200" width="300"/>
			</dt>
			<dd>
				<ul>
					<li>
						<p>${person.id}</p>
					</li>
					<li>
						<p>${person.name}</p>
					</li>
				</ul>
			</dd>
		</dl>
	</c:forEach>
</body>
</html>

    第三步,在PersonDao接口中添加方法:

    

    代码如下:

	//显示所有人员
	public List<Person> getPersons();

    第四步,在PersonDaoImpl类中,实现接口的方法:

    

    代码如下:

	//显示所有人员
	@SuppressWarnings("unchecked")
	@Override
	public List<Person> getPersons() {
		return sessionFactory.getCurrentSession().createQuery("from Person")
				.list();
	}

    第五步,在PersonService接口中添加方法:

    

    代码如下:

	//显示所有人员
	public List<Person> getPersons();

    第六步,在PersonServiceImpl类中,实现接口的方法:

    

    代码如下:

	//显示所有人员
	@Override
	public List<Person> getPersons() {

		return personDao.getPersons();
	}

    第七步,在PersonAction中添加一个显示方法:

    

    其中request定义在了方法前面,具体代码如下:

	// 获取request
	HttpServletRequest request = ServletActionContext.getRequest();
	//显示所有人员
	public String list() {
		// 将参数存至request域里
		request.setAttribute("personList", personService.getPersons());
		return "personList";
	}

    第八步,我们需要在struts2的配置文件struts.xml中再配置一个result:

    

    代码如下:

<result name="personList">/list.jsp</result>

    第九步。测试:



    至此,图片显示成功!

    S2SH整合以及图片上传(9)之删除图片


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值