0

您好我想做一个显示数字和按钮的 JSP 程序。当用户单击此按钮时,其上方的数字会增加。我想在这个程序中包括会话。

我所做的是这样的:

这是html中的表格:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>My Form</title>
</head>
<body>

<%! public void displayNum(){ %>
Number: <%=session.getAttribute("Counter") %>
<%! } %>

<FORM METHOD=POST ACTION="getcount.jsp"> 
<button TYPE="button" ONCLICK= "displayNum()">Add 1</button>
</FORM>

</body>
</html>

这是 myJSP 文件:

<% 
     AddCount addCount = new AddCount();
     addCount.setCounter(addCount.addCounter(addCount.getCounter()));
     int counter = addCount.getCounter();

     session.setAttribute("Counter", counter);
%>

其中 AddCount 是一个带有变量 counter、setter 和 getter 以及增加计数器的函数的 java 类 - addCount(num); 运行文件时我得到的只是一个没有任何文本的按钮:/

我一直在尝试一遍又一遍。有人能帮助我吗?

谢谢!

4

3 回答 3

1

您在 html 中添加 java 代码,这是不可能的。

第二件事,即使您在 AddCount 中有一个静态 int 计数器,它也不会工作,因为许多用户可能会使用此页面并期望他们每次点击只增加一个增量。

所以你应该做的就是写一个像 index.jsp 这样的 jsp 文件

<%Integer counter = (Integer)request.getSession().getAttribute("counter")
  if(counter==null) {counter=0;}
  counter ++;
  request.getSession().setAttribute("counter",counter);

 %>
 <div>counter=<%=counter%></div><br>
 <a href="index.jsp">+1</a>
于 2012-12-15T10:43:13.380 回答
0
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <script src="jquery.js"></script>
    <title>My Form</title>
    </head>
    <body>

    <script>
        $(document).ready(function() {
            $("button").click(function() {
                $("#div1").load("increament.jsp");
            });
        });
    </script>

    <div id="div1"> {number will be displayed here} </div>
    <button>Add 1</button>

    </body>
    </html>

和增量.jsp 文件:

<%
    int count;
    if (session.getAttribute("Counter") == null) {
        count = 1;
    } else {
        count = (Integer) session.getAttribute("Counter");
        count++;
    }
    session.setAttribute("Counter", count);
    out.println(session.getAttribute("Counter"));
 %>
于 2012-12-15T11:59:18.500 回答
0
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>My Form</title>
</head>
<body>

function displayNum()
{

<% 
     AddCount addCount = new AddCount();
     addCount.setCounter(addCount.addCounter(addCount.getCounter()));
     int counter = addCount.getCounter();

     session.setAttribute("Counter", counter);
%>

document.getElementById("demo").innerHTML="<%=session.getAttribute("Counter")%>";
}

<p id="demo"> {number will be displayed here} </p>
<button TYPE="button" ONCLICK= "displayNum()">Add 1</button>

</body>
</html>
于 2012-12-15T10:53:30.397 回答