JSP로

2013-05-15 4 views
0

버튼 문제가 발생하므로 다음 JSP 코드에서이 문제가 발생합니다. onclick을 = "deleteObj가 (교체 아웃,"지방 .. 등이, 그 견적 방식으로 받고있는 것으로 보인다 나는 그것에 대해 무엇을 할 확실하지 오전처럼 하나의 기능을 볼 수 있습니다 여기에JSP로

 while(rs.next()){ 
       out.println("<tr>"); 
       out.println("<td>" + rs.getString(2) + "</td>"); 
       out.println("<td> <button type='submit' value='delete' onclick = deleteObj(out, " + rs.getString(2) + ")'>HI</button> </td>"); 
       out.println("</tr>"); 
     } 

보인다.

또한

http://i.imgur.com/Z1D81Cw.png

나는 서버가 deleteObj는 JSP 방법입니다 것을 알고 궁금하고있다.이 방법은 클릭을 부르는 자바 스크립트를 같은 형식 아닙니까?

당신에게

감사

은 "두 번째 매개 변수 바로 앞에 계속 표시되므로 이것이 실패한 것으로 의심되는 이유는 무엇입니까?하지만 내가 할 수있는 것이 확실하지 않습니다.

+1

onclick 이벤트에 대해'''를 추가했지만' '를 추가하지 않았습니다. – Meherzad

+0

JSP 코드가 아니며 서블릿의 Java 또는 Scriptlet입니다. 그런 경우 JSP에서 데이터베이스 데이터를 반복하고 HTML이 포함 된 String 내부에 체크 또는 형식없이 연결 한 다음 마지막으로 페이지에 쓰는 것입니다. 이것은 ** 안티 패턴 축제 **입니다 ... 어쩌면 이것 좀 봐 http://stackoverflow.com/a/13837913/1654265 –

+0

LOL 내 방어 이것은 내 첫 번째 JSP 프로젝트입니다! : D –

답변

0

시도 :

out.println("<td> <button type='submit' value='delete' onclick = deleteObj(out, '" + rs.getString(2) + "')>HI</button> </td>"); 
0

내가 그 코드는 사용자가 연결 한 출력을 렌더링하는 방법을 볼 수 없습니다. 그것은 렌더링 것 : 값이 rs.getString(2)입니다

... onclick = deleteObj(out,value)'>Hi</button>을 물론 rs.getString(2) 포함하지 않는 : 당신이

( StringEscapeUtils.escapeEcmaScript 참조) 그 인용하고 새로운 라인을 탈출해야합니다

" 
fat 

하는 경우

이스케이프 된 따옴표를 추가해야합니다.

out.println("<td> <button type='submit' value='delete' 
    onclick = 'deleteObj(out, \"" + rs.getString(2) + "\")'>HI</button> </td>"); 

이러한 종류의 코드에는주의해야합니다. rs.getString(2)에 견적이 있으면 어떻게됩니까? 이 대답을보고 싶을 수도 있습니다 : How to escape apostrophe or quotes on a JSP (used by javascript). here은 사용하고자하는 메소드의 업데이트 된 링크입니다.

다른 사람들이 지적했듯이, 이것은 이것을 전혀 처리하지 않는 아주 나쁜 방법입니다. JSP에서 스크립틀릿을 사용하는 경우는 거의 없습니다. 이 작업의 대부분을 수행하는 컨트롤러 (또는 컨트롤러 뒤의 레이어)가 필요합니다. JSP는 단지 렌더링을 처리합니다.

+0

이 작업을 수행하기 위해 컨트롤러 뒤에 컨트롤러/레이어를 사용하고 싶다는 것은 무엇을 의미합니까? –

+0

MVC 패턴 (웹 애플리케이션에 적용 가능)을 읽었지만 일반적인 웹 앱은 브라우저와의 통신을 처리하는 컨트롤러, 비즈니스 로직을 처리하는 서비스 레이어 및 db와의 통신을 처리하는 DAO 레이어를 사용합니다. 무엇보다 클라이언트 (JSP 페이지)에 데이터를 표시하는 뷰 레이어가 있습니다. 객체 (데이터 전송 객체라고 함)는이 레이어간에 전달되어 사용자 입력과 db에서 나오는 데이터를 나타냅니다. – Rand