layer的content里如何传递一个页面?我的总是被识别为一个url

提问 已结 11 448
0ERROR
0ERROR 2019-5-13
悬赏:20飞吻
版本:layui 浏览器:chrome

如图上所示,当我点击查看明细的时候,我希望获取当前行的一个ID,然后后端通过此id从数据库里差对应的数据,然后前端通过弹窗显示出来。
通过阅读文档,目前想到的解决办法是,在content里传一个页面,这个页面包含了一个只显示一条数据的表格,在这个页面里获取父页面里需要查询的那个Id值,将返回的json在这里显示出来,不知道这种做法是否正确?
如果正确,那为什么我穿的页面总是被当成url呢,报错里提示我controller里没有写这个url的拦截方法。怪了
(分可能不够了,见谅)
回帖
  • IDyun
    2019-5-13
    你要在控制层返回页面。
    和 .action 一样。
    url 上加参数 然后子页面就获取url 上的参数,根据参数查询 数据设置到页面上。

    如果用模板页面直接在设置在页面上。

    或者子页面通过 访问上级页面获取 参数。
    0 回复
  • IDyun
    2019-5-13
    你那html页面的地址可以从浏览器打开吗?
    0 回复
  • 0ERROR
    2019-5-13
    @IDyun 打不开啊,但是上面的那个注释掉的url是可以的,而且还能返回数据,我看开发文档里引入一个页面也是这么写的啊。
    0 回复
  • 0ERROR
    2019-5-13
    @IDyun 后端我已经写好方法了,唯独前端这这里不知道如何处理。 如果仅仅接收到一个json,那肯定是不满足需求的,还需要图形化显示。
    0 回复
  • layer.open({
    type:1,
    })
    0 回复
  • type是iframe层,你这个路径不对吧。前面加../文件夹名称 试试 https://www.layui.com/doc/modules/layer.html#type
    0 回复
  • 0ERROR
    2019-5-13
    @IDyun 我按你说的方法改了一下,现在可以返回页面了,但是又有个新的问题
    @ResponseBody
    @RequestMapping(value = "item/getList")
    public LayuiTableResponseDTO loadData2(LedgerInsuranceItemQuery query) {
    List<LedgerInsuranceItemVO> insuranceItemVOS = ledgerInsuranceService.itemListByQuery(query);
    LayuiTableResponseDTO<LedgerInsuranceItemVO> success = LayuiTableResponseDTO.success(insuranceItemVOS.size(), insuranceItemVOS);
    return success;
    }

    @ResponseBody
    @RequestMapping("item")
    public ModelAndView item(@RequestParam(value = "ledgerId") Long ledgerId) {
    ModelAndView mav = new ModelAndView("statement/ledgerInsuranceItem/list.html");
    if (ledgerId != null) {
    LedgerInsuranceItemVO ledgerInsuranceItemVO = ledgerInsuranceService.itemByQuery(ledgerId);
    mav.addObject(ledgerInsuranceItemVO);
    }
    return mav;
    }

    就像这里显示的,我表格渲染的时候,用的getList方法,但是这种方式在前端会显示所有的数据,而不是根据ID查询的那一条。如何解决呢?
    0 回复
  • 0ERROR
    2019-5-13
    @IDyun 我写的查询方法是第二个叫item的方法,然后在图中这个地方试图传id过去。
    0 回复
  • Zlheb
    2019-5-13
    table组件在渲染的时候是可以传递参数的哦,有一个where参数,obj对象,在重载的时候也可以传递
    0 回复
  • 0ERROR
    2019-5-13
    @Zlheb 呃,原来有where这个东西啊。那请问如果想获得上面箭头那个data.ledgerId,也就是item()里的ledgerId参数,渲染的时候where这里应该怎么写?
    0 回复