卜若的代码笔记系列-Web系列-功能专栏-显示某个文件夹路径下的所有图片并显示出它的Url.txt-3100

1.我们要调用java里的某个函数可以显示出当前路径的所有图片

    @RequestMapping(value ="/requestAllPic")
    public ModelAndView requestAllPic()throws Exception 
    {
        File file = new File("C:\\Users\\Skady_cat\\Desktop\\Iamge库");
        File [] files = file.listFiles();
        String para = "";
        for (int i = 0; i < files.length; i++)
        {
            File file1 = files[i];
            para+=  file1.getName();   //根据后缀判断
        }
        
        return new ModelAndView("requestAllPic","path",para);
        
        
    }


    
这样我就能够得到它的全部路径,接下来就比较麻烦了...
我在前端需要迭代,通过将参数名送给controller,然后动态的
生成数个图片的请求链,嘛,思路没错吧??待我查阅下js是怎么实现的哈=。=
先简化需求,使用js显示100句话。
(这个是jsp里面嵌入js代码的标签哈)

<script type="text/javascript">

for (var i=0;i<10;i++)
{ 
    document.write(i + "<br>");
}
</script>

这样没有问题,但是却无法用这个来实例标签。
怎么实例标签呢?

我们可以这样

<% for(int i=0;i<3;i++) { %>
<img src="xxx">
<% } %>


是的,就是这样写的。
所以现在我们得面对新的问题了,我们需要从controller那边传
一个数组过来。
嘛,我讨厌json,因为到现在我都还没有研究透。
不过,我们这里不打算使用json来做数据交换。

我们可以直接把数据传到modelandView里面


怎么做呢?我们可以这样


@RequestMapping(value ="/requestAllPic")
    public ModelAndView requestAllPic()throws Exception 
    {
        
        ModelAndView mav=new ModelAndView("requestAllPic");
        
        
        
        File file = new File("C:\\Users\\Skady_cat\\Desktop\\Iamge库");
        File [] files = file.listFiles();
        String para = "";
        mav.addObject("len", files.length);
        for (int i = 0; i < files.length; i++)
        {
            File file1 = files[i];
             file1.getName();   //根据后缀判断
            
            mav.addObject(i+"",file1.getName());
        }
        
        return mav;
        
        
    }


将所有数据装载到mav(没有做序列化,因为=。=,懒,目前还没研究透
序列化的机理,等我要用的时候再说吧,最主要的是这种方法十分适合新手)。


这边就能将数据发送给前端,那么前端该怎么获取数据呢?这样:

for(int i=0;i<3;i++) {

    
%>
<img src=returnPic?key=<%=request.getAttribute(i+"") %>>
<% } 

%>


这里的话,是一步到位,高手的话(估计也不会看我的博客了),菜鸡
的话最好往下继续看。
首先
request.getAttribute(i+"")这句话就是获取从controller里面
获取的数据
<%= xx%>
这种写法是给jsp页面标签填写java数据的固定写法。

最后是这个src=returnPic?key=
这个解释就比较麻烦了,首先,我们菜鸡再怎么菜也要有个概念
src可以直接从公网ip上获取资源。
而src就是指这张图片的url。
我们发了一个returnPic的参数给服务器,然后带了一个key参数
根据key参数返回一张图片(显然这里的key就是指图片名字)。

嘛=。=

我贴一下返回图片的代码

@RequestMapping(value ="/requestAllPic")
    public ModelAndView requestAllPic()throws Exception 
    {
        
        ModelAndView mav=new ModelAndView("requestAllPic");
        
        
        
        File file = new File("C:\\Users\\Skady_cat\\Desktop\\Iamge库");
        File [] files = file.listFiles();
        String para = "";
        mav.addObject("len", files.length);
        for (int i = 0; i < files.length; i++)
        {
            File file1 = files[i];
             file1.getName();   //根据后缀判断
            
            mav.addObject(i+"",file1.getName());
        }
        
        return mav;
        
        
    }


    这样,你就实现了整个文件夹图片的浏览。
    
如果你有什么问题欢迎发送邮件给我
我的邮箱:[email protected]
 

猜你喜欢

转载自blog.csdn.net/qq_37080133/article/details/82800350