나의질문답

.java파일에서 .jsp로 변수전달

예쁜꽃이피었으면 2014. 10. 30. 15:39

http://www.okjsp.net/seq/264302





안녕하세요.



변수를 전달하는게 안되서 질문드립니다.


처음에 a.java에서 얻은 값을 계속 가지고 다녔었어요.

(a.java -> a.jsp -> b.java -> b.jsp ->c.java -> a.jsp)


마지막에 c.java에서 다시 a.jsp로 값을 전달 하고 싶습니다.


c.java까지 변수를 제대로 가지고 있습니다.


그런데 a.jsp로 넘어오면서 500에러가 납니다.


에러 메시지는

심각: Servlet.service() for servlet [ControllerAction] in context with path [/plantid] threw exception [An exception occurred processing JSP page /plantlistdata.jsp at line 21


18: <c:forEach items="${plantList}" var="article">  

19: <!--item repeat-->

20:   <a href="#">

21:     <table class="item" plant_id="${article.plant_id}" onClick="javascript:doDetail('${article.plant_id}')">

22:   <tr>

23:     <td class="td_img"><img src="${article.simg_file_name}" width="64px" height="91px"></td>

24:     <td class="td_img_right"></td>



Stacktrace:] with root cause

javax.el.PropertyNotFoundException: Property 'plant_id' not found on type java.lang.String


이렇고요.


궁금한게 . 처음에 a.java에서 a.jsp로 plantList값을 넘기고.

돌고 돌아서 왔을 때는 왜 검색이 안되나요?   







답>

21번째 줄에 왜 plant_id= 이예요?? id아님?????????설마..





나>

plant_id="${article.plant_id}" 를 

id="${article.plant_id}" 이렇게 해도 안되네요




답>

쿠키 캐쉬 다삭제하고 서버재시작해도 안되나요?


아니면 plant_id 가 dto or vo 에서 string 으로 안되있어요? 뷰단만보면 모르겠음 

컨트롤러봐야될듯



나>

지금 에뮬레이터로 테스트중에 있는데 그건 어떻게 하는지 모르겠네요 . 웹뷰 수정중이고요 

그럼 어디의 캐시를 지워야 하나요?




plant_id의 경우는 다 되어 있습니다. 

처음에 a.java에서 값을 넘기고 a.jsp가 실행이 됩니다. 

마지막에 c.java에서 a.jsp로 넘어올 때 이상이 있는 것 같습니다.



답>

이해가 안되는부분이있는데 

MVC 패턴이실텐데 a.java->a.jsp 이렇게 되있을텐데 

왜 b.jsp -> a.java -> a.jsp 이렇게가야되는데 

b.jsp -> c.java -> a.jsp 이렇게 가는거죠? 

이해가안되는데 로직이




나>

c.java에서 어느 화면을 띄워 줄지에 따라 보여지는 jsp화면이 달라요. 

지금의 경우 다시 a.jsp로 가야 하고요; 




답>

컨트롤러에서 넘겨주기전에 

System.out.println 으로 먼저 plant_id 에 뭐가 들어가는지 확인을해보시는게 

타입도 확인해보시고




나>

c.java까지는 plantList 의 값 확인 했습니다. 

마지막에 a.jsp넘어올때는 에러가 떠서 넘어왔는지 확인 못했습니다. 

catalina.out해도 안찍히더라고요. 


처음 넘겨주던 그대로 계속 가지고 다녔어요. 




답>

이렇게 말해봤자 컨트롤러단 안보면 노답이예요;; 

제가보기엔 컨트롤러 단에서 넘겨줄때 잘못넘기신거같은데 아무리봐도



그리고 plant_id 가뭔진모르겠지만 저렇게 계속 가지고 다니실꺼면 


세션이나 쿠키에 저장하고 다니는것도..ㅎ



일단 plant_id 부분 주석처리하시고 실행해보시거나 

값계속 가지고 다닌다면 

b.jsp 에서 ${plantList[0].plant_id} 찍어보세요 





반응형