JSP 页面中用绝对路径显示图片

情景:

1.图片和工程不在一个盘符下。

2.图片不能放到工程下。

在JSP 文件中<img src="D:temp/12345.jpg"/>这样不能显示图片。
因为,JSP页面在引图片的时候是在页面解析的路径是:
<img src="http://localhost:8080/a/images/1.jpg">
也就是说JSP在引图片的时候是先去你的工程目录下找的。
所以如果要在JSP中引入其他盘符的图片。

使用虚拟路径来配置:
在tomcat下的conf/server.xml中增加一个代码 在<Host></Host>中间

如下:

<!--增加的--path="/虚拟名" docBase="虚拟路径" -> 
<Context   path="/upload" docBase="D:\temp\1\"  reloadable="true"></Context> 

图片存放路径为: D:\temp\1\

/**
* struts2 显示图片 action 方法
*/
public String view(){
        // 得到工程保存图片的路径
        //String root =    //ServletActionContext.getServletContext().getRealPath("/upload");
        String root = "D:\\temp\\1";
        File dir = new File(root);
        //目录下文件
        File[] files = dir.listFiles();
        List<String> list = new ArrayList<String>();
        for (File file : files) {
            list.add("/upload/" +file.getName());
        }
        //发送
        ActionContext.getContext().put("list", list);
        return SUCCESS;
    }

其中 list.add("/upload/" +file.getName()); 中的 /upload/ 表示要访问项目下的路径 ,在Tomcat中已经配置。

页面显示图片:

     <s:iterator value="list" >
        <img src="<s:property />" width="200px" height="200px">
     </s:iterator>

页面可以正常显示 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值