网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

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" "http://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="/UploadFiles/2021-04-02/WdatePicker.js"><script src="scripts/Globals.js"><script src="/UploadFiles/2021-04-02/dhtmlxcommon.js"><script src="scripts/DhtmlTree/js/dhtmlxtree.js"><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("&nbsp;<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>

上一篇:jsp action中保存和修改的关系
下一篇:jsp base标签与meta标签学习小结
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。