评论

收藏

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

开发技术 开发技术 发布于:2021-10-23 18:52 | 阅读数:529 | 评论:0

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[name='name']")
                    .val();
                //var deptname = $(this).find("input[name='deptname']").val();
                var deptid = $(this).find(
                    "input[name='deptid']").val();
                //平常的值
                var deptname = $(this).children().eq(2).text()
                var info = $(this).children().eq(10).text()
                    .split(";")[0];
                if (info == "") {
                  info = "暂无路线";
                }
                var arr = new Array();
                arr[0] = name;
                arr[1] = deptname;
                arr[2] = deptid;
                arr[3] = 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[0];
      document.getElementById(deptname).value=ret[1];
      document.getElementById(deptid).value=ret[2];
      document.getElementById(info).value=ret[3];
    }
  }
  //加载图片显示另一个页面
  $(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>
关注下面的标签,发现更多相似文章