JEECG系统问题解决方案

1.    用户录入、编辑时选择组织架构、角色时对话框被挡住:

解决方法: 把下面代码替换掉即可,一共3处需修改

function openDepartmentSelect() {
   $.dialog.setting.zIndex = getzIndex();
   var orgIds = $("#orgIds").val();
   $.dialog({content: 'url:departController.do?departSelect&orgIds='+orgIds, zIndex: 2100, title: '组织机构列表', lock: true, width: '400px', height: '350px', opacity: 0.4, button: [
      {name: '<t:mutiLang langKey="common.confirm"/>', callback: callbackDepartmentSelect, focus: true},
      {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
   ]}).getzIndex();
}

改为下面的:

function openDepartmentSelect() {
   $.dialog.setting.zIndex = getzIndex(true);
   var orgIds = $("#orgIds").val();
   $.dialog({content: 'url:departController.do?departSelect&orgIds='+orgIds, zIndex: getzIndex(), title: '组织机构列表', lock: true, width: '400px', height: '350px', opacity: 0.4, button: [
      {name: '<t:mutiLang langKey="common.confirm"/>', callback: callbackDepartmentSelect, focus: true},
      {name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
   ]});
}

 

2.    用户

3.    图片上传出错,提示"啥都没干-没传参数吧!":路径不对以及上传后按日期分类存放图片导致tomcat重启后无法读取图片

解决方法:

1)   修改src/main/resources/sysConfig .properties 文件中的webUploadpath属性设置文件上传目录,我设置为空以便拼接在根目录上

# 文件上传目录
webUploadpath=

 

2)   修改SystemController.java文件的filedeal()方法:

src/main/java/org/jeecgframework/web/system/controller/core/SystemController.java

nowday是创建日期目录,直接改成固定目录如"images",如果更改变量名称则引用变量处一并修改(两处引用)

String nowday=new SimpleDateFormat("yyyyMMdd").format(new Date());
    File file = new File(ctxPath+File.separator+nowday);
String dbpath=ctxPath+File.separator+ nowday +File.separator+fileName;

上面三行代码改为下面的:

String images="images";
File file = new File(ctxPath+File.separator+images);
    String dbpath=ctxPath+File.separator+ images +File.separator+fileName;

注:ctxPath有两种方法,第一种读取tomcat的项目路径,如: /usr/local/apache-tomcat-7.0.67/webapps/ROOT,因为每次重启tomcat时ROOT路径下的所有文件都会清掉重新生成,所以用这种方式的话重启tomcat后之前保存的图片就丢失了,第二种方式即现在使用的读取项目配置的文件上传目录,使用绝对路径,因此尽量放在根目录

//        String ctxPath = request.getSession().getServletContext().getRealPath("");
        String ctxPath=ResourceUtil.getConfigByName("webUploadpath");//demo中设置为D://upFiles,实际项目应因事制宜

 

4.    datagrid列表无法读取上述图片,但编辑页面的可以

原因:对于同一个路径的图片,编辑页面是调用systemController/showOrDownByurl.do的方法并把路径作为参数传递进去进行显示,而datagrid列表是直接以localhost:端口/图片路径 作为url进行显示,因为上面我用的是绝对路径到根目录,因此这个url出错

解决方法:把datagrid列表的路径也设置成跟编辑页面的一样,修改DataGridTag.java 的getField(StringBuffer sb,int frozen)方法(1847和1851共两行):

org/jeecgframework/tag/core/easyui/DataGridTag.java

src=\"'+value+'\"

改为

src=\"systemController/showOrDownByurl.do?dbPath='+value+'\"

修改后代码片段:

// 显示图片
if (column.isImage()) {
   if (column.getImageSize() != null) {// 自定义显示图片
                 String[] tld = column.getImageSize().split(",");
                 sb.append(",formatter:function(value,rec,index){");
                 sb.append(" return '<img width=\"" + tld[0]
                                 + "\" height=\"" + tld[1]
                                 + "\" border=\"0\" src=\"systemController/showOrDownByurl.do?dbPath='+value+'\"/>';}");
                 tld = null;
   }else{
      sb.append(",formatter:function(value,rec,index){");
      sb.append(" return '<img border=\"0\" src=\"systemController/showOrDownByurl.do?dbPath='+value+'\"/>';}");
   }
} else if(column.getDownloadName() != null) {

 

5.    编辑图片后会自动在图片后面增加一个英文逗号,导致路径不对显示不了图片

解决方法:在编辑时调用的doUpdate()方法中去掉头尾的逗号,增加下面绿色字体显示的8行代码,需要注意的是,编辑后内容虽然变了,但内存没有更新,因此断点调试调试不出来

@RequestMapping(params = "doUpdate")
@ResponseBody
public AjaxJson doUpdate(MeetingRoomEntity meetingRoom, HttpServletRequest request) {
   String message = null;
   AjaxJson j = new AjaxJson();
   message = "会议室信息更新成功";
   MeetingRoomEntity meetingRoomEntity = meetingRoomService.get(MeetingRoomEntity.class, meetingRoom.getId());
   String imagePath = meetingRoomEntity.getImage();
   if (imagePath.startsWith(",")) {
      imagePath.substring(1, imagePath.length());
   }
   if (imagePath.endsWith(",")) {
      imagePath.substring(1);
   }
   meetingRoomEntity.setImage(imagePath);
   try {
      MyBeanUtils.copyBeanNotNull2Bean(meetingRoom, meetingRoomEntity);
      meetingRoomService.saveOrUpdate(meetingRoomEntity);
      systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
   } catch (Exception e) {
      e.printStackTrace();
      message = "会议室信息更新失败";
      throw new BusinessException(e.getMessage());
   }
   j.setMsg(message);
   return j;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值