在Web开发中,Struts2 是一个流行的Java框架,用于构建企业级应用程序。它提供了一种机制来处理HTTP请求并与服务器端的业务逻辑进行交互。在Struts2中,集合(如List、Set、Map等)经常用于在Action类和视图层之间传递数据。
Struts2集合: 在Struts2中,集合通常是指Action类中的属性,这些属性可以是List、Set或Map类型。这些集合可以在JSP页面或其他视图技术中通过Struts2标签库进行访问和显示。
要在JavaScript中获取Struts2集合,通常有以下几种方法:
<s:iterator>
标签遍历集合并生成JavaScript代码。JSP页面:
<s:hidden name="myList" id="myListHidden" />
<script type="text/javascript">
var myList = JSON.parse(document.getElementById('myListHidden').value);
console.log(myList);
</script>
Action类:
public class MyAction extends ActionSupport {
private List<String> myList = new ArrayList<>();
// Getter and Setter for myList
}
JavaScript:
function fetchMyList() {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var myList = JSON.parse(xhr.responseText);
console.log(myList);
}
};
xhr.open('GET', 'myActionURL', true);
xhr.send();
}
Action类:
public class MyAction extends ActionSupport {
private List<String> myList = new ArrayList<>();
public String execute() {
// Populate myList
return SUCCESS;
}
// Getter for myList
}
JSP页面:
<s:iterator value="myList" var="item">
<script type="text/javascript">
var item = '<s:property value="#item"/>';
console.log(item);
</script>
</s:iterator>
问题: 集合数据在JavaScript中显示不正确或为空。
解决方法:
问题: 跨域请求问题。
解决方法:
通过以上方法,你可以在JavaScript中有效地获取和处理Struts2框架中的集合数据。
领取专属 10元无门槛券
手把手带您无忧上云