【问题标题】:Using request object parameter as a name of application scope attriubte in JSP在 JSP 中使用请求对象参数作为应用程序范围属性的名称
【发布时间】:2010-08-21 14:08:04
【问题描述】:

我有一个带有字符串属性 name1 的请求对象。当请求发送到 JSP 时,我想使用 name1 参数作为应用程序范围 bean 的名称来检索其状态。我试过了

 <jsp:getProperty name="${name1}" property="status" />

${${objName}.status}

${applicationScope.${objName}.status}

但它不起作用。

【问题讨论】:

    标签: jsp el


    【解决方案1】:

    您不能嵌套 EL 表达式。这是一个表达式。使用大括号表示法。

    ${applicationScope[objName].status}
    

    另见:

    【讨论】:

    • 感谢 BalusC。试过了,但似乎不起作用。将它放在我的 JSP 中的 pararpah 标记后,它不显示任何文本。
    • 您是否了解它是如何工作的?至少,objName 必须引用值为name1String。它在幕后所做的只是getServletContext().getAttribute("name1").getStatus()。您可能希望编辑您的问题以消除问题中的歧义,并添加您确定在所需范围内拥有的实际值。
    • 我设置了一个不同的 JSP 进行测试,它可以工作。第一次传递请求时(在从表单提交之前)未初始化 objName。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    相关资源
    最近更新 更多