2012-05-06 4 views
0

처음 숫자가 8과 13이고 누군가 21을 제출하면 다음 번에 누군가가 페이지를로드 할 때 숫자가 13과 21이 될 것입니다. 세션에 이상이 있지만 무엇을 모르겠 음jsp 세션 업데이트 번호

<%@ page import="java.io.*"%><%@ 
import="java.util.*"%><?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> 
    <title>MAIN</title> 
    </head> 
    <body> 
    <% 
    String sum = (String) session.getAttribute("sum"); 
    if (sum==null) { 
      sum = "0"; 
      session.setAttribute("sum",sum); 
    } 
    int isum = Integer.parseInt(sum); 
    String fib1= (String) session.getAttribute("fib1"); 
    fib1 = "8"; 
    session.setAttribute("fib1",fib1); 
    int ifib1 = Integer.parseInt(fib1); 
    String fib2= (String) session.getAttribute("fib2"); 
    fib2 = "13"; 
    int ifib2 = Integer.parseInt(fib2); 
    isum=ifib1+ifib2; 

    boolean numberReceived=false; 
    int usum = -1; 
    try{ 
      usum=Integer.parseInt(request.getParameter("number")); 
      numberReceived=true; 
    }catch(NumberFormatException nfe){ 
      System.out.print("error"); 
    } 

    if (!numberReceived) { 
      out.print("You need to enter a value"); 
    } else { 
      if (usum==isum) { 
        out.print("correct"); 
        ifib1+=5; 
      } else { 
        out.print("incorrect"); 
      } 
    } 
    session.setAttribute("fib1",""+ifib1); 

    %> 


    <input type="button" value="go" onclick="doTheGObutton();"> 
    <form action="index.jsp" method="post"> 
     <%=fib1%> + <%=fib2%> = <input type="text" name="number"> 
    <input type="submit" value="continue" name="submit"> 
    </form> 


</body> 
</html> 
+1

나는 당신의 질문을 이해할 수 있을지 모르겠다. 다음과 같은 내용을 다시 말해 줄 것이다. 1) 기대되는 외침 2)이 목표를 달성하기 위해 무엇을하고 있는가? – Satya

+0

사용자가 정답을 입력하면 숫자가 바뀌길 바란다. , 첫 번째 질문이 8 + 13; 다음 질문은 13 + 21이 될 것입니다. 나는 session.setAttribute()를 사용해 보았지만 확실하지는 않다. –

답변

1

다음은 질문의 코드에 대한 스 니펫입니다.

String fib1= (String) session.getAttribute("fib1"); 
fib1 = "8"; 
session.setAttribute("fib1",fib1); 

그래서 코드를 읽습니다.

  1. "f1b1"세션 속성의 값을 읽고 fib1에 넣습니다.
  2. fib1의 값을 고정 배선 상수로 바꿉니다.
  3. "f1b1"세션 속성을 유선 상수로 업데이트하십시오.

은 어떻게 할 수 있습니까? 물론, 나중에 세션 속성에 새로운 값을 씁니다. 위의 코드는 JSP의 첫 번째 액션으로 "fib1"을 사용하기 때문에 위의 코드는 유용합니다.

제 조언은 여러분이 이와 같은 문제에 부딪혔을 때 작성한 코드를주의 깊게 읽어야하며 원하는 것을/할 필요가 있는지 생각해야한다는 것입니다.

+0

+1 또한 당신이해야 할 일에 대해 생각하고있는 동안 그것을 증명할 테스트를 작성하십시오. –