【问题标题】:Does ServletRequest.setAttribute permit key names with periods?ServletRequest.setAttribute 是否允许带有句点的键名?
【发布时间】:2011-07-08 22:09:38
【问题描述】:

我有一个带有以下代码的 Struts 1 操作的 java webapp:

request.setAttribute("cat.sound", "meow");

在我的 jsp 页面上,我有以下标签:

<c:out value="${cat.sound}" />

但是,“喵”永远不会打印在 JSP 页面上。如果我有一个“猫”类型的对象来执行以下操作,这可能会起作用:

request.setAttribute("cat", cat);

不幸的是,这个 webapp 没有为猫定义任何对象,并且 jsp 页面被冻结(不允许更改)。

那么是否可以将 request.setAttribute 与包含句点/点的键名一起使用? JSP 页面需要如何引用 set 参数?

【问题讨论】:

    标签: java jsp struts-1 servlets


    【解决方案1】:

    如果您将cat 设置为带有字符串键"sound" 的映射,则可以避免创建Cat 类:

    request.setAttribute("cat", Collections.singletonMap("sound", "meow"));
    

    Collections#singletonMap() 为您提供了一种简洁的方式来创建包含一个条目的地图。

    【讨论】:

    • 正是我想要的。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2019-10-19
    • 2017-10-16
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多