• JSP页面嵌套乱码解决



        项目中审批过程需要将业务表单嵌套在审批的页面中。由于业务表单很多,前台已经axjx到了本次选择的表单的地址。本来做的就是把这个链接放在审批页面上,但现在需求的就是直接把这个biz表单嵌套在审批的页面中。
    初步的解决方案有jsp的include和iframe三种方法。
    (1)静态include  

    用include伪码实现,不会检查所含文件的变化,适用于包含静态页面。使用场合主要是包含一些js包、css、系统的常量等。 
    语法为:

    <%@include file="biz.htm" %> 

    (2)动态include  用jsp:include动作实现,它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 
    语法:

    <jsp:include page="/jsp/oa/biz/<%=path[1]%/<%=path[2]%>.jsp>" flush="true"> 
    <jsp:param value="<%=piId%>" name="piId"/> 
    <jsp:param value="view" name="action"/> 
    </jsp:include>

    其中 flush="true"

    在同一个 JSP 中,如果不断 include 自己(源文件),在逻辑上会形成死循环。若默认情况下,服务器会等待该文件被读到底端,然后才输出到客户端,并且销毁该次访问的 request 和 response。而当把 flush 属性赋为真值时,在缓存累积了一定数据时,服务器会先提供一部分数据给浏览器,并等待后续内容。由此,在简单页面中,该属性不纳入考虑,而在页面包含大量数据时,为缩短客户端延迟,可将一部分内容先行输出。该属性在 Servlet 中也有对应的应用。

    (3) 最常见的 iframe 嵌套

    <iframe id="logfrm" src="login_files/loginbox.jsp" style="400px;height:280px;" frameborder="0" scrolling="no"></iframe>



    容易出现的问题

    1,使用js方法时报错 Javascript "Unterminated String Literal" Error。 对于这个问题主要是说js有空格、换行符等问题。把之间的空格去掉发现不报错。

    2,中文乱码 

       在被嵌套的页面加上一句话:  <%@ page contentType="text/html;charset=UTF-8" language="java"%> 如: 

     

    <%@ page contentType="text/html;charset=UTF-8" language="java"%>
    <nav class="navbar navbar-default" role="navigation">
            <div class="container">
                <div class="navbar-header">
                    <a class="navbar-brand" href="/metamaintain-web/group">产品配置模块</a>
                </div>
                <div>
                    <ul class="nav navbar-nav">
                        <li class="dropdown"><a class="dropdown-toggle"
                            data-toggle="dropdown"> 删除任务配置 <b class="caret"></b>
                        </a>
                            <ul class="dropdown-menu">
                                <li><a href="/metamaintain-web/group">任务分组</a></li>  
                                <li><a href="/metamaintain-web/task">任务项</a></li>
                            </ul></li>
                    </ul>
                </div>
                <div class="navbar-header">
                    <a class="navbar-brand" href="/metamaintain-web/testtabs">测试标签页</a>
                </div>
            </div>
        </nav>
  • 相关阅读:
    win10一键访问更改适配器的方法
    windows server 2019 hyper-v+zabbix3.4
    Hyper-V 配置虚拟网络
    ros routeros pppoe一直拨号获取到不一样的IP为止。
    usb3.0 3.1 3.2的区别和联系
    西部数据绿盘、蓝盘、黑盘、红盘和紫盘的区别
    Ros-routeros winbox for win,mac,android,ios客户端大全
    《高效能人士的七个习惯》:好的时间管理,每天只做6件事
    快速了解C# 8.0中“可空引用类型(Nullable reference type)”语言特性
    Kubernetes中分布式存储Rook-Ceph的使用:一个ASP.NET Core MVC的案例
  • 原文地址:https://www.cnblogs.com/mistor/p/5330615.html
Copyright © 2020-2023  润新知