Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 调用servlet后,导航栏css会发生变化_Java_Html_Css_Jsp_Servlets - Fatal编程技术网

Java 调用servlet后,导航栏css会发生变化

Java 调用servlet后,导航栏css会发生变化,java,html,css,jsp,servlets,Java,Html,Css,Jsp,Servlets,之前: 之后 第一个图像是登录页面,但当我单击登录按钮时,导航栏会像第二个图像一样,块之间会出现空格。当调用sevlet并具有以下代码时会发生这种情况: out.print("<p style='position:absolute;top:200px;left:300px;color:#CC0066;'>Sorry username or password error! </p>"); RequestDispatcher rd=request.

之前:

之后

第一个图像是登录页面,但当我单击登录按钮时,导航栏会像第二个图像一样,块之间会出现空格。当调用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);
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);
并尝试在jsp页面中打印消息

只需将scriptlet用作

<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>

${message}

十年来,使用scriptlet也被认为是不好的做法。看到这个了吗


希望这有帮助

修好了。我在导航栏的CSS部分有
margin:10px
。移除它,所有问题都消失了


:)

CSS中的更改是由此代码引起的吗?这样行吗?答案是一般的。但是如果你按照上面的方法去做,你可以消除这个问题。我猜
position:absolute
是您代码中的问题。试着把它改成相对的,用你说的去做。但我必须在整个项目中这样做。bdw你所说的位置是什么意思:绝对是问题所在??我应该用什么来替换它?因为里面没有任何东西。margin用于div中的元素,而不是div,因为您通过servlet的响应向现有html追加了一个新段落,这导致了失真。
<p style='position:absolute;top:200px;left:300px;color:#CC0066;'><%=message></p>
<p style='position:absolute;top:200px;left:300px;color:#CC0066;'>${message}</p>