0

我有一个 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>
4

2 回答 2

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>
于 2013-07-06T12:29:04.770 回答
0

在这种情况下,您的对话会给出一个空警报,还是包含“null”?如果它包含“null”,则更有可能是您的nulloptioninvalidMenu属性的问题。您说它们“将包含一个字符串值或空值”。这些是从哪里来的?

例如,如果他们从使用String.valueOf(foo), where foowas的方法中获取值null,您将获得一个包含文本“null”的字符串,而不是值为 的字符串null,即:

String stringWithValueOfNull = "null";
String nullString = null;

您也可以在 JSP 本身中验证这一点,方法是c:out

  • nullOption 等于:<c:out value="${nulloption}"/>

如果它打印“nullOptions 等于:。” 这意味着您确实有一个null或空的字符串。如果它打印“nullOption 等于:null”。,您有一个文本值为“null”的字符串,您需要进一步回顾生成此值的代码。

于 2013-07-06T13:12:10.603 回答