使用 JSP 访问包含在 Map 中的对象的 getter 方法
Accessing object's getter method wrapped inside Map with JSP
我正在尝试弄清楚如何使用 getter 方法迭代将字符串作为键和对象的 ConcurrentHashMap。
这是 class 哪个对象作为值存储在映射中。
public class ServiceStats {
public int unprocessedItems;
public int processedItems;
/**
* @return the unprocessedItems
*/
public int getUnprocessedItems() {
return unprocessedItems;
}
/**
* @param unprocessedItems the unprocessedItems to set
*/
public void setUnprocessedItems(int unprocessedItems) {
this.unprocessedItems = unprocessedItems;
}
/**
* @return the processedItems
*/
public int getProcessedItems() {
return processedItems;
}
/**
* @param processedItems the processedItems to set
*/
public void setProcessedItems(int processedItems) {
this.processedItems = processedItems;
}
}
Servlet 正在像这样向 JSP 发送数据。
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
ConcurrentHashMap<String, ServiceStats> serviceStatsMap = stats.getServiceStats();
request.setAttribute("stats", serviceStatsMap);
request.getRequestDispatcher("WEB-INF/jsp/stats.jsp").forward(request, response);
}
迭代应该是这样的:
<c:forEach var="entry" items="${stats}">
${entry.key}, ${entry.value.getvaluefromgettermethod}
</c:forEach>
如何访问作为映射值的对象,然后访问该对象内的 getter 方法?
我必须像这样在 JSP 中导入我的 class 还是没有必要?
<%@ page import="com.company.ServiceStats"%>
如果你想访问 ServiceStats
类型对象的 属性 unprocessedItems
,因为它有一个合适的 getter,${entry.value.unprocessedItems}
也应该足够了,不需要导入。
我正在尝试弄清楚如何使用 getter 方法迭代将字符串作为键和对象的 ConcurrentHashMap。
这是 class 哪个对象作为值存储在映射中。
public class ServiceStats {
public int unprocessedItems;
public int processedItems;
/**
* @return the unprocessedItems
*/
public int getUnprocessedItems() {
return unprocessedItems;
}
/**
* @param unprocessedItems the unprocessedItems to set
*/
public void setUnprocessedItems(int unprocessedItems) {
this.unprocessedItems = unprocessedItems;
}
/**
* @return the processedItems
*/
public int getProcessedItems() {
return processedItems;
}
/**
* @param processedItems the processedItems to set
*/
public void setProcessedItems(int processedItems) {
this.processedItems = processedItems;
}
}
Servlet 正在像这样向 JSP 发送数据。
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
ConcurrentHashMap<String, ServiceStats> serviceStatsMap = stats.getServiceStats();
request.setAttribute("stats", serviceStatsMap);
request.getRequestDispatcher("WEB-INF/jsp/stats.jsp").forward(request, response);
}
迭代应该是这样的:
<c:forEach var="entry" items="${stats}">
${entry.key}, ${entry.value.getvaluefromgettermethod}
</c:forEach>
如何访问作为映射值的对象,然后访问该对象内的 getter 方法?
我必须像这样在 JSP 中导入我的 class 还是没有必要?
<%@ page import="com.company.ServiceStats"%>
如果你想访问 ServiceStats
类型对象的 属性 unprocessedItems
,因为它有一个合适的 getter,${entry.value.unprocessedItems}
也应该足够了,不需要导入。