jquery를 사용하여 액션에서 arraylist를 얻으려고합니다. 그리고 그 arraylist의 행마다 데이터를 얻습니다. 같은 아래에 내 코드 :jquery 액션에서 arraylist 데이터 가져 오기
내 컨트롤러 액션 (UserAction.java) :
public class UserAction extends ActionSupport {
private ArrayList<UserVO> listUsers;
public ArrayList<UserVO> getListUsers() {
return listUsers;
}
public void setListUsers(ArrayList<UserVO> listUsers) {
this.listUsers = listUsers;
}
public String execute(){
listUsers = new ArrayList<UserVO>;
UserVO bean = new UserVO();
bean.setUserName("john");
bean.setLastName("mit");
listUsers.add(bean);
bean = new UserVO();
bean.setUserName("Madam");
bean.setLastName("Git");
listUsers.add(bean);
return SUCCESS;
}
}
그리고 UserVO
public class UserVO {
private String userName;
private Strnig lastName;
//get, set methods
....
}
그리고 내 JSP :
user.jsp
<script type="text/javascript">
jQuery(document).ready(function($){
var objlistUsers = '${listUsers}'; //get all list from action
for (var i = 0; i < 2; i++) {
var aUser = "objlistUsers[test]";
var aaa = aUser.replace("test", i);
aaa = '${'+aaa+'}'; ///My purpose: I want to get data per row: ${listUsers[i]}
alert(aaa); //but can not return exactly
}
});
</script>
다음과 같이 목록의 행당 데이터를 가져오고 싶습니다. ${listUsers[i]}
어떻게받을 수 있습니까?
감사합니다.
JSP 처리를 사용하여 포함하기 전에 그
사용하기 위해
jstl
태그를 사용할 수 있습니다 페이지가 브라우저로 전송되기 전에 서버에서 완료됩니다. 페이지가 브라우저로 보내지면 jQuery (javascript)가 실행됩니다. 자바 스크립트에서 EL 문자열 (예 :''$ { '+ aaa +'} '')을 생성하면 JSP 처리 단계가 끝났기 때문에 절대로 처리되지 않습니다. 'objlistUsers' 배열에 데이터가 올바르게 채워지면 for 루프에서'aaa = objlistUsers [i];'를 사용할 수 있어야합니다. – tcovo개체를 가져 오려고했습니다 : objlistUsers [i]. 하지만 정확히 반환하지 않습니다 – MartinJoo
자바 스크립트에'listUsers' ArrayList를 전달하기 위해 좀 더 많은 작업이 필요할 수도 있습니다. 다음 및 관련 질문을 참조하십시오. http://stackoverflow.com/questions/10780996/how-can-weget-javascript-array-by-jsp-scriptlet 및 http://stackoverflow.com/questions/12076654/assigning- a-java-set-to-a-javascript-array-using-el – tcovo