PHP小丑 发表于 2021-10-23 18:52:55

jsp中一个页面引入另一个页面的实现代码

action代码片段

public String execute() {
      String ret = super.execute();
      if (RETURN_LIST.equals(ret)) {
            return list();
      } else {
            return ret;
      }
    }
    public String list() {
      String show = this.getRequest().getParameter("show");
      if ("show".equals(show)) {
            return show();
      }
      deptid = getRequest().getParameter("deptid");
      if (StringUtils.isNotBlank(deptid)) {
            epVO.getEp().setDeptid(Long.valueOf(deptid));
            epVO.setDeptid(deptid);
      }
      if (StringUtils.isNotBlank(deptname)) {
            epVO.getDept().setDeptname(deptname);
      }
      if (StringUtils.isNotBlank(plateno)) {
            epVO.setPlateno(plateno);
      }
      if (StringUtils.isBlank(deptid)) {
            epVO.getEp().setDeptid(Long.parseLong("1"));
      }
      int count = epService.getEpCount(epVO);
      PageInfor pageInfor = this.pageInit(this.getRequest(), count);
      epVO.setRownum_(pageInfor.getRownum_());
      epVO.setRownum(pageInfor.getRownum());
      epVO.setOrderName(pageInfor.getOrderName());
      List<EpVO> list = epService.getEps(epVO);
      this.getRequest().setAttribute(Constants.QUERY_DATA, list);
      this.getRequest().setAttribute(Constants.PAGE_INFO, pageInfor);
      List<Object> editors = new ArrayList<Object>();
      editors.add(new EditorExt("text", "deptname", "公司"));
      editors.add(new EditorExt("text", "plateno", "车牌号"));
      editors.add(new EditorExt("text", "deptid", "ID"));
      this.getRequest().setAttribute("editor", editors);
      List<Object> header = new ArrayList<Object>();
      List<Object> header = new ArrayList<Object>();
      header.add(new Header("index", "序号", "index", "2%"));//1
      header.add(new Header("epVO.dept.deptname", "部门", null, "6%"));// 2 jQuery(function()中取普通的值 用下标取 下标是它出现的位置
      header.add(new Header("epVO.ep.name", "车牌号", null, "5%"));//3
      header.add(new Header("epVO.ep.epid", "内部编号", null, "5%"));//4
      header.add(new Header("epVO.ep.eptype", "类型", null, "4%"));//5
      header.add(new Header("epVO.ep.devid", "设备号", null, "8%"));
      header.add(new Header("epVO.ep.devtype", "设备类型", null, "4%"));
      header.add(new Header("epVO.ep.phone", "电话", null, "5%"));
      header.add(new Header("epVO.ep.charge", "年服务费", null, "5%"));
      header.add(new Header("epVO.ep.info", "备注", null, "15%"));
      this.getRequest().setAttribute("header", header);
      this.getRequest().setAttribute("header", header);
      Map<String, String> hidden = new LinkedHashMap<String, String>();
      hidden.put("epVO.ep.id", "车辆ID");
      hidden.put("epVO.dept.deptid", "部门ID");//jQuery(function()中取隐藏域中的值
      hidden.put("epVO.ep.name", "车牌号");//jQuery(function()中取隐藏域中的值
      hidden.put("epVO.ep.eptype", "类型");
      this.getRequest().setAttribute("hidden", hidden);
      String flag = this.getRequest().getParameter("flag");
      this.getRequest().setAttribute("flag", flag);
      return RETURN_LIST;
}
jsp页面引用代码片段

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<%@ taglib uri="/WEB-INF/web.tld" prefix="web"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base target="_self">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>车辆信息</title>
<web:jquery validate="true" formId="tableform" />
<link type="text/css" rel="stylesheet" href="styles/css.css">
<script src="scripts/DatePicker/WdatePicker.js"></script>
<script src="scripts/Globals.js"></script>
<script src="scripts/DhtmlTree/js/dhtmlxcommon.js"></script>
<script src="scripts/DhtmlTree/js/dhtmlxtree.js"></script>
<link type="text/css" rel="stylesheet"
    href="scripts/DhtmlTree/css/dhtmlxtree.css">
</head>
<body>
    <web:clean editorMeta="editor" />
    <s:hidden name="epVO.deptid" id="deptid" />
    <web:error />
    <div id="query" class="framesytle">
       <!-- 是否在了那个一个页面中打开 -->
      <s:if test="#attr.flag=='open'">
            <web:queryTable action="listEp.action?flag=open" editorMeta="editor"
                title="查询条件" />
            <web:tableList action="listEp.action?method=list&flag=open"
                headerMeta="header" hiddenMeta="hidden" title="查询结果"
                showlist="hidden" top="false" mode="radio" />
      </s:if>
      <s:else>
            <web:queryTable action="listEp.action" editorMeta="editor"
                title="查询条件" />
            <web:tableList action="listEp.action?method=list" headerMeta="header"
                hiddenMeta="hidden" title="查询结果" showlist="hidden" top="false"
                mode="radio" />
      </s:else>
    </div>
</body>
</html>
<script language="JavaScript" type="text/JavaScript">   
    //部门查询时用到的
    $("#queryBtn").removeAttr('onclick').click(
            function() {
                var obj = document.forms['queryForm'];
                obj.action = '<s:url value="/listEp.action"/>'
                        + '?deptid=' + document.getElementById('deptid').value;
                obj.submit();
            });
    //打开时页面要传递的值
    jQuery(function() {
      var flag = '<s:property value="#attr.flag" />';
      if (flag == "open") {
            $("#dataTable tr").removeAttr("title").removeAttr("ondblclick");
            jQuery(".all_border .hs tbody tr").attr("title", "双击选中");
            jQuery(".all_border .hs tbody tr:gt(0)").removeAttr('ondblclick')
                  .dblclick(
                            function() {
                              //隐藏域中取的值 list()中取
                              var name = $(this).find("input")
                                        .val();
                              //var deptname = $(this).find("input").val();
                              var deptid = $(this).find(
                                        "input").val();
                              //平常的值
                              var deptname = $(this).children().eq(2).text()
                              var info = $(this).children().eq(10).text()
                                        .split(";");
                              if (info == "") {
                                    info = "暂无路线";
                              }
                              var arr = new Array();
                              arr = name;
                              arr = deptname;
                              arr = deptid;
                              arr = info;
                              returnValue = arr;
                              window.close();
                            });
      }
    });
    $(document)
            .ready(
                  function() {
                        var deptname = document.getElementById('deptname').value;
                        var deptid = document.getElementById('deptid').value;
                        var plateno = document.getElementById('plateno').value;
                        $("#queryTable")
                        .html("<tbody><tr class='f1f1f1'><td align='right'>公司:</td><td class='r_border'><input type='text' value='"+deptname+"' id='deptname' name='deptname' class='input_sytle_1'></td><td align='right'>车牌号:</td><td class='r_border'><input type='text' value='"+plateno+"' id='plateno' name='plateno' class='input_sytle_1'><input type='hidden' value='"+deptid+"' id='deptid' name='deptid' class='input_sytle_1'></td></tr></tbody>");
                var tree = initDropDownTree('orgTree',
                        '<s:url value="/commonPage.action?method=getOrgTree"/>');
                setTextBoxTree('deptname', 'deptid', 'orgTree', tree);
                  });
</script>
jsp被引用js代码片段

<script language="JavaScript" type="text/JavaScript">
   //另一个页面
    // 这个页面的id个数 是根据另一个页面传过来的决定的
    function selPlateno(plateno,deptname,deptid,info)
    {   
      var ret = openWin("listEp.action?method=list&flag=open", "900px", "500px");
      if (ret != undefined) {
            document.getElementById(plateno).value=ret;
            document.getElementById(deptname).value=ret;
            document.getElementById(deptid).value=ret;
            document.getElementById(info).value=ret;

      }
    }

    //加载图片显示另一个页面
    $(document).ready(function(){
      //
      $("#plateno").after(" <img onclick=\"selPlateno('plateno','deptname','deptid','info')\" style=\"cursor:hand; vertical-align:text-bottom\" src=\"<s:url value='/images/sel.jpg'/>\" alt=\"选择\" border=\"0\">");
    });   
</script>

https://www.uoften.com/program/jsp/20180413/47727.html
页: [1]
查看完整版本: jsp中一个页面引入另一个页面的实现代码