Ok vì vậy có lẽ ai đó có thể giúp tôi giải quyết vấn đề tôi đang cố gắng giải quyết. Về cơ bản tôi có một trang JSP có danh sách các đối tượng Quốc gia (từ phương thức referenceData() từ một Spring Portlet SimpleFormController, không hoàn toàn phù hợp nhưng chỉ đề cập trong trường hợp nó là). Mỗi đối tượng Nước có một tập các đối tượng tỉnh và mỗi tỉnh và đất nước có một trường tên:Populating JavaScript Array từ Danh sách JSP
public class Country {
private String name;
private Set<Province> provinces;
//Getters and setters
}
public class Province {
private String name;
//Getters and setters
}
Bây giờ tôi có hai đơn thả xuống trong JSP của tôi cho các quốc gia và các tỉnh, tôi muốn lọc các tỉnh theo quốc gia. Tôi đã theo dõi điều này tutorial/guide để tạo chuỗi chọn trong JavaScript.
Bây giờ tôi cần một cách năng động để tạo mảng JavaScript từ nội dung của mình. Và trước khi bất kỳ ai đề cập đến AJAX, điều này nằm ngoài câu hỏi vì dự án của chúng tôi sử dụng các portlet và chúng tôi muốn tránh xa việc sử dụng các khung công tác như DWR hoặc tạo một servlet. Đây là JavaScript/JSP tôi có cho đến nay nhưng nó không được đưa Array với bất cứ điều gì:
var countries = new Array();
<c:forEach items="${countryList}" var="country" varStatus="status">
countries[status.index] = new Array();
countries[status.index]['country'] = ${country.name};
countries[status.index]['provinces'] =
[
<c:forEach items="${country.provinces}" var="province" varStatus="provinceStatus">
'${province.name}'
<c:if test="${!provinceStatus.last}">
,
</c:if>
</c:forEach>
];
</c:forEach>
Có ai biết làm thế nào để tạo ra một mảng JavaScript trong JSP trong trường hợp trên hoặc những gì 'thực hành tốt nhất' sẽ được xem xét trong trường hợp này? Cảm ơn trước!
Điều thứ hai sẽ dẫn đến việc tạo ra ít mã hơn đáng kể, vì vậy tôi chắc chắn sẽ đi theo lộ trình đó. – Pointy
Ngọt ngào, cảm ơn! Tôi đang gặp vấn đề với Bộ điều khiển của mình, nhưng đây chính xác là những gì tôi đang tìm kiếm ... cảm ơn lần nữa! Tôi đã kết thúc với giải pháp thứ hai sản xuất JSON trong trường hợp ai đó đang tự hỏi. –
Vui vì tôi có thể giúp đỡ. –