jstl 使用 c:foreach list<MyClass> 进行迭代
jstl iterate using c:foreach list<MyClass>
在 short:In 我的 JSP 中,我需要遍历自定义 bean class 的列表,像 List,MyClass 有键和值变量,还有 getter 和 setter同样,使用 c:foreach jstl
详细信息:像这样:
<c:forEach var="myObject" items="${model.pair_list}">
<li data-value="${myObject.key}">${myObject.value}</li>
</c:forEach>
在 Java 代码中,我有:
列表pairlist = new ArrayList();
//MyClass 是一个简单的 bean class,带有变量 "key" 和 "value",以及相同的 getter 和 setter
//在此列表中放入一些值
model.put("pair_list", 配对列表);
任何提示如何让它工作?
首先在 Java 创建一个 List
的 MyClass
并填充它
List<MyClass> pairList = new ArrayList<>();
//assuming key and value are of type String
//repeat the following 4 lines as much as needed
MyClass myClass = new MyClass();
myClass.setKey("...");
myClass.setValue("...");
pairList.add(myClass);
//Create an Map as you model and add pairList to it
Map<String, List<MyClass>> model = new HashMap<>();
model.put('pair_list', pairList);
//Now you can add it to request for passing it to JSP/JSTL
request.setAttribute('model', model);
那么在JSTL中就和你问题中提到的完全一样
<c:forEach var="myObject" items="${model.pair_list}">
<li data-value="${myObject.key}">${myObject.value}</li>
</c:forEach>
考虑您的 items 属性
你能删除 .对表 ?
例如,当您将数据从控制器传递到 Java 代码中的视图时
List<YourObjectClass> YourArrayListData = new ArrayList<YourObjectClass>();
..........................
.... ADD DATA PROCESS ....
..........................
request.setAttribute("YourArrayList", YourArrayListData);
这是 jsp 文件中的 jstl 代码
<c:forEach items="${YourArrayList}" var="referenceIt" >
${referenceIt.property}
</c:forEach>
在您的 servlet 中,只需将列表放在您发送给 Jsp
的请求中
根据要求
request.setAttribute("pair_list", pairlist);
注:使用forward not sendRedirect
在你的 JSP 中:-
<c:forEach var="myObject" items="${pair_list}">
<li data-value="${myObject.key}">${myObject.value}</li>
</c:forEach>
在 short:In 我的 JSP 中,我需要遍历自定义 bean class 的列表,像 List,MyClass 有键和值变量,还有 getter 和 setter同样,使用 c:foreach jstl
详细信息:像这样:
<c:forEach var="myObject" items="${model.pair_list}">
<li data-value="${myObject.key}">${myObject.value}</li>
</c:forEach>
在 Java 代码中,我有:
列表pairlist = new ArrayList(); //MyClass 是一个简单的 bean class,带有变量 "key" 和 "value",以及相同的 getter 和 setter //在此列表中放入一些值 model.put("pair_list", 配对列表);
任何提示如何让它工作?
首先在 Java 创建一个 List
的 MyClass
并填充它
List<MyClass> pairList = new ArrayList<>();
//assuming key and value are of type String
//repeat the following 4 lines as much as needed
MyClass myClass = new MyClass();
myClass.setKey("...");
myClass.setValue("...");
pairList.add(myClass);
//Create an Map as you model and add pairList to it
Map<String, List<MyClass>> model = new HashMap<>();
model.put('pair_list', pairList);
//Now you can add it to request for passing it to JSP/JSTL
request.setAttribute('model', model);
那么在JSTL中就和你问题中提到的完全一样
<c:forEach var="myObject" items="${model.pair_list}">
<li data-value="${myObject.key}">${myObject.value}</li>
</c:forEach>
考虑您的 items 属性
你能删除 .对表 ?
例如,当您将数据从控制器传递到 Java 代码中的视图时
List<YourObjectClass> YourArrayListData = new ArrayList<YourObjectClass>();
..........................
.... ADD DATA PROCESS ....
..........................
request.setAttribute("YourArrayList", YourArrayListData);
这是 jsp 文件中的 jstl 代码
<c:forEach items="${YourArrayList}" var="referenceIt" >
${referenceIt.property}
</c:forEach>
在您的 servlet 中,只需将列表放在您发送给 Jsp
的请求中根据要求
request.setAttribute("pair_list", pairlist);
注:使用forward not sendRedirect
在你的 JSP 中:-
<c:forEach var="myObject" items="${pair_list}">
<li data-value="${myObject.key}">${myObject.value}</li>
</c:forEach>