joget 预览插件用到的知识

开发用到的知识

  • 获取工程绝对路径
String baseDir = System.getProperty("catalina.home");
  • 将File转换成Path
FileSystems.getDefault().getPath(file.getAbsolutePath());
  • 获取joget的wflow文件夹
SetupManager.getBaseDirectory()
  • js 获取 url 端口信息
1、window.location.href(设置或获取整个 URL 为字符串)

var test = window.location.href;
alert(test);
返回:http://i.cnblogs.com/EditPosts.aspx?opt=1

2、window.location.protocol(设置或获取 URL 的协议部分)

var test = window.location.protocol;
alert(test);
返回:http:

3、window.location.host(设置或获取 URL 的主机部分)

var test = window.location.host;
alert(test);
返回:i.cnblogs.com

4、window.location.port(设置或获取与 URL 关联的端口号码)

var test = window.location.port;
alert(test);
返回:空字符(如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符)

5、window.location.pathname(设置或获取与 URL 的路径部分(就是文件地址))
var test = window.location.pathname;
alert(test);
返回:/EditPosts.aspx

6、window.location.search(设置或获取 href 属性中跟在问号后面的部分)

var test = window.location.search;
alert(test);
返回:?opt=1

PS:获得查询(参数)部分,除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值。

7、window.location.hash(设置或获取 href 属性中在井号“#”后面的分段)

var test = window.location.hash;
alert(test);
返回:空字符(因为url中没有)

引用自

java 项目获取resources 文件夹中的license文件
本插件用到了groupdoc的产品,需要license授权
但是代码中是流的形式获取的license,
所以将license 文件放在了resources资源文件夹下
joget 预览插件用到的知识_第1张图片
java 代码如下:

InputStream resourceAsStream = ConvertUtils.class.getClassLoader().getResourceAsStream("GroupDocs.Viewer.lic");

以流的方式显示图片
img 便签的src属性,不仅可以是图片的路径, 也可以是图片的流
直接访问后台的接口就可以显示

        
    @RequestMapping("/imgTest")
    public void imgTest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        File file = new File("d:\\微信截图.png");
        FileInputStream inputStream = new FileInputStream(file);
        ServletOutputStream out = response.getOutputStream();
        response.setContentType("application/pdf");
        // 设置文件头:最后一个参数是设置下载文件名`
        response.setHeader("Content-Disposition", "attachment;fileName=" + new String(file.getName().getBytes("UTF-8"),"ISO8859-1"));
        int b = 0;
        int sum = 0;
        byte[] buffer = new byte[1024];
        while ((b = inputStream.read(buffer)) != -1) {
            // 写到输出流(out)中
            out.write(buffer, 0, b);
            sum+=b;
        }
        out.close();
//        System.out.println(sum);
        inputStream.close();
    }

你可能感兴趣的:(joget)