java - 调用 servlet 后导航栏 css 发生变化

标签 java html css jsp servlets

之前: enter image description here

之后 enter image description here

第一张图片是登录页面,但是当我点击登录按钮时,导航栏变得像第二张图片一样, block 之间出现空格。当调用 sevlet 并具有以下代码时会发生这种情况:

out.print("<p style='position:absolute;top:200px;left:300px;color:#CC0066;'>Sorry username or password error! </p>");
            RequestDispatcher rd=request.getRequestDispatcher("login.jsp");
            rd.include(request, response);

CSS代码是:

#menuli{
display: inline;
float: left;
color: #CCCCCC;
}

#menuA,#menuAL {
display: block;
width: 180px;
padding: 10px;
color: #FFFFFF;
font-size: x-large;
font-variant: normal;
font-family: Segoe, "Segoe UI", "DejaVu Sans", "Trebuchet MS", Verdana, sans-serif;
margin: 10;
text-decoration: none;
opacity: 0.9;
border-spacing:0;

border-collapse:collapse;
text-align: center;
background-color: #000033;
/*font-weight: bold;
/*border-radius: 20px;*/
}
#menuA:hover, #menuAL:hover
{
/*color: #699;*/

background-color: #003;
/*text-shadow: 10px 0px 10px;   */
font-weight: bold;
background-image: -webkit-gradient(linear, 50.00% 0.00%, 50.00% 100.00%, color-stop( 0% , rgba(65,62,110,1.00)),color-stop( 40.94% , rgba(7,5,53,1.00)),color-stop( 49.74% , rgba(9,8,56,1.00)),color-stop( 100% , rgba(12,11,60,1.00)),color-stop( 100% , rgba(54,56,116,1.00)));
background-image: -webkit-linear-gradient(270deg,rgba(65,62,110,1.00) 0%,rgba(7,5,53,1.00) 40.94%,rgba(9,8,56,1.00) 49.74%,rgba(12,11,60,1.00) 100%,rgba(54,56,116,1.00) 100%);
background-image: linear-gradient(180deg,rgba(65,62,110,1.00) 0%,rgba(7,5,53,1.00) 40.94%,rgba(9,8,56,1.00) 49.74%,rgba(12,11,60,1.00) 100%,rgba(54,56,116,1.00) 100%);
}
#menu
{
position: absolute;
top: 126px;
left: 139px;
}

JSP 代码是:

<div name="header" id="header">
    <img id="logo" style="position:absolute; left:145px; top:10px; "src="images/logo.jpg">
        <div id="menu" >
        <ul>
            <li id="menuli"><a id="menuA" href="index.jsp#header">Home</a></li>
            <li id="menuli"><a id="menuA" href="index.jsp#services">Services</a></li>
            <li id="menuli"><a class="prod" id="menuA" href="Display?course=6">Products</a>

            </li>
            <li id="menuli"><a id="menuA" href="index.jsp#contact">Contact</a></li>
            <li id="menuli"><a id="menuA" href="index.jsp#about">About</a></li>
        </ul>
    </div>
</div>

在任何 servlet 包含它之后,所有页面都会发生这种情况。

请查看图片链接。

最佳答案

在 servlet 中打印 html 内容被认为是不好的做法。您可以在请求中设置属性。所以不是这个,

out.print("<p style='position:absolute;top:200px;left:300px;color:#CC0066;'>Sorry username or password error! </p>");
            RequestDispatcher rd=request.getRequestDispatcher("login.jsp");
            rd.include(request, response);

使用,

request.setAttribute("message","Sorry username or password error!");
            RequestDispatcher rd=request.getRequestDispatcher("login.jsp");
            rd.include(request, response);

并尝试在jsp页面中打印消息,

简单地使用脚本作为,

<p style='position:absolute;top:200px;left:300px;color:#CC0066;'><%=message></p>

或者使用 EL

<p style='position:absolute;top:200px;left:300px;color:#CC0066;'>${message}</p>

十年来,使用 scriptlet 也被认为是不好的做法。看这个How to avoid java codes inside jsp

希望对您有所帮助!!

关于java - 调用 servlet 后导航栏 css 发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24674905/

相关文章:

css - Bootstrap 3 第二列折叠..第三列向右浮动

java - KAA物联网服务器配置-Spring+Hibernate异常

java - 如何从 Java 干净地启动和停止 Tomcat,为什么我的方法不能重复工作?

javascript - jquery 文件不适用于网页

javascript - 背景更改时动态更改文本颜色(javascript)

CSS3 多列

java - 在模拟器中打开应用程序时不断关闭

java - 使用JTree获取Java中每个子类和兄弟类的名称

javascript - 使用 JavaScript 为 anchor 标记设置属性下载

javascript - 使用 jQuery 无限滚动固定数量的 li 元素