【问题标题】:Accessing object's getter method wrapped inside Map with JSP使用 JSP 访问包裹在 Map 中的对象的 getter 方法
【发布时间】:2015-09-01 10:52:08
【问题描述】:

我正在试图弄清楚如何使用 getter 方法迭代将字符串作为键和对象的 ConcurrentHashMap。

这是对象作为值存储在地图中的类。

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>

如何访问作为 map 值的对象,然后访问该对象内的 getter 方法?

我必须像这样在 JSP 中导入我的类还是没有必要?

<%@ page import="com.company.ServiceStats"%>

【问题讨论】:

  • 你觉得${entry.key}会发生什么?
  • @AleksandrM 如果String 值来自用户输入的字段,则会发生潜在的Cross-site scripting (XSS) 漏洞。
  • @Amit.rk3 谢谢!它现在正在工作。没想到这么简单:)
  • 太棒了..很高兴它有帮助。将其发布为答案。请接受:)

标签: java jsp dictionary jstl


【解决方案1】:

如果你想访问ServiceStats类型的对象的属性unprocessedItems,因为它有一个适当的getter,${entry.value.unprocessedItems}就足够了,也不需要导入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    相关资源
    最近更新 更多