2011-08-18 7 views
0

저는 스프링 프레임 워크를 사용하고 있습니다. Java bean 객체를 모델 속성으로 JSP에 전달하고 있습니다. JSP에서 나는이 자바 빈 객체를 전달하는 자바 스크립트 함수를 호출하고있다. 자바 스크립트 내에서이 객체의 멤버에게 액세스해야합니다. 아래는 코드 예입니다.자바 스크립트의 자바 객체에 액세스

Test.jsp 
.. 
.. 
<form:radiobutton id="showdialog" path="nextAction" value="showdialog" label="show dialog" 
    onclick="javascript: showDiseaseGroupDialog('${dataRequestFormDTO}');"/></span></div> 
.. 
.. 

Common.js 
function showDiseaseGroupDialog(dataRequestFormDTO){ 

    alert("DG:"+dataRequestFormDTO.selectedDiseaseGroup); 
    for(var diseaseGroupDTO in dataRequestFormDTO.availableDiseaseGroups.values){ 
     alert(diseaseGroupDTO.name); 
    } 
} 

DataRequestFormDTO.java 
public class DataRequestFormDTO{ 
    private String selectedDiseaseGroup; 
    private Map<String, DiseaseGroupDTO> availableDiseaseGroups; 

    public String getSelectedDiseaseGroup() { 
     return selectedDiseaseGroups; 
    } 

    public void setSelectedDiseaseGroup(String selectedDiseaseGroup) { 
     this.selectedDiseaseGroup = selectedDiseaseGroup; 
    } 

    public Map<String, DiseaseGroupDTO> getAvailableDiseaseGroups() { 
     return availableDiseaseGroups; 
    } 

    public void setAvailableDiseaseGroups(
      Map<String, DiseaseGroupDTO> availableDiseaseGroups) { 
     this.availableDiseaseGroups = availableDiseaseGroups; 
    } 
} 

public class DiseaseGroupDTO { 

    private String id; 
    private String name; 

    public String getId() { 
     return id; 
    } 
    public void setId(String id) { 
     this.id = id; 
    } 
    public String getName() { 
     return name; 
    } 
    public void setName(String name) { 
     this.name = name; 
    } 

} 

문제점 showDiseaseGroupDialog 함수에서 오류가 발생했습니다. 첫 번째 경고는 "DG : undefined"를 표시하고 javascript 오류 "availableDiseaseGroups는 정의되지 않음"을 표시합니다.

나는 자바 빈 구성원이 자바 스크립트에 액세스 할 수없는 이유

  1. 을 이해하고 싶어? jsp에서는 같은 값을 인쇄 할 수 있습니다.

  2. 어떻게 hashmap/arraylist가 자바 스크립트에서 액세스 할 수 있습니까?

+0

java! = javascript. 나는 당신이 당신의 가정을 재평가 할 필요가 있다고 생각한다. – amal

답변

1

자바의 이름이 잘못 지정되어있어 자바와 아무 관련이 없습니다. 당신은 자바 스크립트에서 C++ 객체를 사용할 수없는 것처럼 자바 객체를 자바 객체에서 직접 사용할 수 없습니다.

1

자바 객체는 자바 가상 머신에서만 의미가 있기 때문에 자바 객체는 자바 스크립트로 직접 전달할 수 없지만 자바 스크립트는 브라우저의 JS 엔진에서만 해석 할 수 있기 때문에 자바 객체에는 자바 객체를 직접 전달할 수 없습니다. 하지만 자바 빈을 JSON 형식이나 다른 일반 텍스트 형식으로 변환 할 수있다.