从页面加载JSP中删除警报

时间:2013-07-06 10:32:16

标签: java jsp alert

我有一个Jsp页面,每次打开页面时都会加载警报框。我需要此警报仅在满足特定条件时显示。这是我的JSP。每次页面加载时都会加载一个空警报。

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <LINK REL="StyleSheet" HREF="css/style.css">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <form class ="menuOption" action ="MenuServlet" method ="GET">
           <table border="0" class ="menuOption">
               <tbody>
                   <tr>
                       <td>Enter Menu Option<input type="text" name="menuoption" value="" /><input  type="submit" value="GO" name="gomenu" /></td>
                   </tr>
                   <tr>
                       <c: if test="${not empty nulloption}">
                        <script>alert("${nulloption}");</script>
                    </c:if>
                     <c:if test="${not empty invalidMenu}">
                        <script>alert("${invalidMenu}");</script>
                    </c:if>
                       <td></td>

                       <td></td>
                       <td></td>
                   </tr>
               </tbody>
           </table>

        </form>
    </body>
</html>

2 个答案:

答案 0 :(得分:1)

尝试此操作以验证invalidMenu内容。

<tr>
  <td><%= request.getAttribute("invalidMenu") %></td>
    <c:if test="${not empty invalidMenu}">
      <script>alert("${invalidMenu}");</script>
    </c:if>
  <td></td>
    <% request.setAttribute("invalidMenu", "invalid menu name"); %>
    <c:if test="${not empty invalidMenu}">
      <script>alert("${invalidMenu}");</script>
    </c:if>
  <td></td>
</tr>

答案 1 :(得分:0)

在这种情况下,您的对话是否提供空警报,或者包含“null”的对话?如果它包含“null”,则更有可能是您的nulloptioninvalidMenu属性出现问题。你说他们“将包含一个String值或null”。这些人来自哪里?

例如,如果他们从使用String.valueOf(foo)的方法获取其值,foonull,则会给出包含文本“null”的字符串,而不是比具有null值的那个,即:

之间的差异
String stringWithValueOfNull = "null";
String nullString = null;

您也可以使用c:out

在JSP中验证这一点
  • nullOption等于:<c:out value="${nulloption}"/>

如果打印“nullOptions等于:。”则表示您有null或空字符串。如果它打印“nullOption等于:null。”,你有一个文本值为“null”的字符串&amp;你需要进一步回顾生成这个值的代码。