[英]access java object in javascript
我正在使用spring框架。 我將java bean對象作為模型屬性傳遞給JSP。 在JSP上我調用了一個傳遞這個java bean對象的javascript函數。 我需要在javascript中訪問此對象的成員。 下面是代碼片段
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未定義”。
我想明白
為什么java bean成員在javascript中無法訪問? 雖然在jsp中我可以打印相同的值。
hashmap / arraylist如何在javascript中訪問?
Javascript命名不佳,它與Java無關。 您不能直接在javascript中使用java對象,就像您不能在其中使用C ++對象一樣。
您不能將java對象直接傳遞給javascript,因為java對象僅對Java虛擬機有意義,而javascript只能由瀏覽器中的JS引擎解釋。 但是您可以將java bean轉換為JSON格式或其他純文本格式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.