2
다음 코드를 실행됩니다. 그러나스크립틀릿 잘못
"<%cart.removeItem(0);%>"
은 버튼을 클릭하지 않고 페이지를 새로 고칠 때 실행됩니다. 왜 이런 일이 일어나는 걸까요?
건배.
전체 소스를 포함합니다.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<jsp:useBean id="cart" scope="session" class="myBeans.cart" />
<%
cart.addItem("aji", "1000", "1");
cart.addItem("ewer", "200", "1");
cart.addItem("dfwerweji", "10", "1");
cart.addItem("ldsjioi", "1320", "1");
String[] prodNames = cart.getProdNames();
double[] prices = cart.getProdPrices();
int[] qtys = cart.getProdQtys();
double total = 0;
for(int i=0; i<prodNames.length; i++){
total += prices[i]*qtys[i];
out.println(prodNames[i]);
out.println(" " + prices[i] + " ");
out.println("<input type=text name=newQty value=" + qtys[i] + ">");
out.println(" " + prices[i] * qtys[i]);
}
%>
<br/>
<button type="button" id="button" onclick="<%cart.removeItem(0);%>">Click me</button>
</body>
</html>
답장을 보내 주셔서 감사합니다. 예 카트는 javabean 개체입니다. 귀하의 코드, '새로운 Ajax.Request ('removeFirst.page ');', removeFirst.page의 요점은 무엇입니까? – user859385
나는 전체 소스를 편집하고 넣었다. 희망을 통해 내 코드를 더 잘 이해할 수 있습니다. 감사합니다. – user859385
@ user859385 : 클라이언트 및 서버 측 개체와 작업을 혼합합니다. '카트'는 서버 측에서만 사용할 수 있으며 버튼 클릭은 클라이언트 측에서 사용할 수 있습니다. 내 Ajax.Request (Ajax 요청의 프로토 타입 라이브러리 단축형)의 핵심은 해당 페이지를 실행하도록 서버에 콜백하는 것입니다. 이 페이지에서 코드는 카트 객체에서 항목 0을 제거한 다음 클라이언트 측 페이지를 다시 렌더링하거나 업데이트 된 데이터를 삽입하거나 Javascript로 숨기거나 삭제합니다. 그게 더 합리적입니까? –