2014-05-20 2 views
0
<TABLE> 
    <TR> 
     <TD> 
      <% for(int i=0;i<categories.size();i++){ %> 

       <button name="<%=categories.get(i)%>" type="button" onclick=<% session.setAttribute("category", categories.get(i));%> > 
        <%= categories.get(i)%> 
       </button> 
      <% } %> 
     </TD> 
    </TR> 
    <TR> 
     <TD> 
      <% 
      if(session.getAttribute("category") != null){ 
       for(int i =0; i< pr.products.size();i++){ 
        if(pr.products.get(i).category.equals(session.getAttribute("category"))){ 
         out.print(pr.products.get(i).name); 
        }   
       } 
      }%> 
     </TD> 
    </TR> 
</TABLE> 

단추를 클릭 할 때 항목을 표시하려고하지만 페이지가 새로 고쳐지지 않으므로 단추를 눌렀을 때 sendRedirect를 호출 할 수 없습니다.JSP 단추 onClick

어떻게이 문제를 해결할 수 있습니까?

<button name="Phones" type="button" onclick=""> 
    Phones 
</button> 
+0

당신이 HTML의 일부 샘플 출력을 보여줄 수 * 후 *는 JSP 구문 분석 및 클라이언트 브라우저로 전송되었습니다? 페이지를 마우스 오른쪽 버튼으로 클릭하고 "페이지 소스보기"(또는 이와 동등한 방법)를 선택하여이 구문 분석 된 마크 업을 볼 수 있습니다. 이것은 생성 된 마크 업이 구문 적으로 올바른지 판단하는 데 도움이됩니다. – ajp15243

+0

버튼의 html 코드를 추가했는데 2 개 (태블릿과 휴대 전화) –

+0

달성하려는 내용을 알 수 있습니까? – mahesh

답변

0

당신은 & 숨겨진 태그 대신 양식을 사용할 수 있습니다,이 시도 :

<TABLE> 
    <TR> 
     <TD> 
      <% for(int i=0;i<categories.size();i++){ %> 
       <form action="urlToUpdate"> <!-- use the controller to update session attribute --> 
        <input type="hidden" name="category" value="<%=categories.get(i)%>"/> 
        <button type="submit"><%=categories.get(i)%></button> 
       </form> 
      <% } %> 
     </TD> 
    </TR> 
+0

onclick 속성이 실제로 코드를 실행하고 클릭을 기다리는 것이 아니라 클릭하여 실행되도록 설정하는 것을 기다리고있는 것으로 나타났습니다. –

+0

가장 좋은 방법은 여기에 자바 코드를 피하는 것입니다. http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files 대신 MVC 아키텍처를 따르십시오. –

관련 문제