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 は、変数カウンター、セッター、ゲッター、およびカウンターを増やす関数 (addCount(num)) を持つ Java クラスです。ファイルを実行したときに得られるのは、テキストのないボタンだけです:/

私は何度も何度も試してきました。誰か助けてくれませんか?

ありがとう!

4

3 に答える 3

1

html に Java コードを追加していますが、これは不可能です。

第二に、AddCount に静的 int カウンターがある場合でも、多くのユーザーがこのページを使用し、クリックごとに 1 つのインクリメントしか期待できないため、機能しません。

だからあなたがすべきことは、この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>

および increament.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 に答える