起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3313|回复: 4

[结贴] 初学bex5的一些技术问题

[复制链接]

5

主题

18

帖子

60

积分

初级会员

Rank: 2

积分
60
QQ
发表于 2018-6-21 10:02:23 | 显示全部楼层 |阅读模式
1、如何在页面中显示活下载服务器中非项目路径下的图片和文件,比如显示D:\images\aa.jpg,我在java开发中常用下面这种方式,不知道X5中是如何实现的:
@RequestMapping(value = "/download/{filepath}/{filename}")
    public void download(HttpServletRequest request, HttpServletResponse response,
            @PathVariable(value = "filepath") String filepath, @PathVariable(value = "filename") String filename) {
        response.setContentType("application/octet-stream;charset=UTF-8");
        String resourcepath = env.getProperty("resourcepath");
        String pathname = resourcepath + filepath + File.separator + filename;
        File file = new File(pathname);
        if (file.isDirectory()) {
            return;
        }
        if (file.exists()) {
            try (FileInputStream in = new FileInputStream(file);
                    OutputStream outputStream = new BufferedOutputStream(response.getOutputStream());) {
                int i = in.available();
                byte[] data = new byte;
                in.read(data);
                // 写图片
                outputStream.write(data);
                outputStream.flush();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
2、在X5中如何单独写一个servlet,例如我需要用一个网页插件实现文件上传功能,代码如下:
@RequestMapping("/fileUpload")
    public String fileUpload(@RequestParam(name = "filedata", required = false) MultipartFile filedata,
            HttpServletRequest request) {
        String resourcepath = env.getProperty("resourcepath");
        String fileName = filedata.getOriginalFilename();
        String dirpath = resourcepath + File.separator + "video/";
        if (fileName.toLowerCase().endsWith(".jpg")) {
            dirpath = resourcepath + File.separator + "images/";
        }
        File dir = new File(dirpath);
        if (dir.exists() || dir.mkdir() || dir.mkdirs()) {
            String filePath = dirpath + fileName;
            try (FileOutputStream out = new FileOutputStream(filePath)) {
                out.write(filedata.getBytes());
                out.flush();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
        }
        return fileName;
    }
3、比如我模型数据中的fId为030B219A65474C76A2DE43A8F2CB37F7,如何让我在页面中img标签的src为030B219A65474C76A2DE43A8F2CB37F7.jpg,其文件名前缀与fId一致,还有a标签的href属性也实现类似功能。
4、input标签,如何只设置readonly属性而不设置disabled?我现在只要设置了readonly,页面的disabled也自动变成true了,提交时候就没有数据了。

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-6-21 10:39:00 | 显示全部楼层
1.2.下载和上传参考/UI2/demo/actions/process/invokeAction/mainActivity.w
UI2下创建.j文件就是servlet文件

3.bizData中可以通过getCurrentRowID()获取主键值,自己拼接名字给img等赋值
4.readonly设置为只读了后本来就不能操作了值怎么输入的?
  
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

5

主题

18

帖子

60

积分

初级会员

Rank: 2

积分
60
QQ
 楼主| 发表于 2018-6-21 11:43:24 | 显示全部楼层
3、currentrowid可以直接绑定到组件上吗?类似bind-ref方式
4、控件上的内容是通过js赋值的,不需要手动赋予,比如我用身份证阅读器扫一下,直接把身份证信息赋予到组件上,提交保存即可
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-6-21 11:57:38 | 显示全部楼层
1.默认的主键一般都不绑定,值平台会自动生成操作,如果直接用关系去操作是直接用bizData设置的concept的名字
自定义的字段做主键可以绑定bind-ref
2.那个设置readonly无关,数据没有存储上应该是没有赋值成功,要通过data的setValue给字段赋值
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

5

主题

18

帖子

60

积分

初级会员

Rank: 2

积分
60
QQ
 楼主| 发表于 2018-6-21 12:36:21 | 显示全部楼层
谢谢,我再研究研究,结帖吧。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-2 23:31 , Processed in 0.064651 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表