【问题标题】:how to set dynamic variable and pass it to JSF like spring mvc?如何设置动态变量并将其传递给 JSF,如 spring mvc?
【发布时间】:2011-09-08 09:39:56
【问题描述】:

春天,我可以这样做

Map<String, Object> model = new HashMap<String, Object>();
model.putAll(runtimeService.getVariables(executionId));
return new ModelAndView("page1", model);

runtimeService.getVariables(executionId) 正在返回一个地图 例如,

String Object
"id"   "123"
"value" "4"

然后我可以直接使用 ${id} 来访问值

变量名“id”是动态的,

我不确定如何以 JSF 方式进行,因为它使用 getter 和 setter。

这应该很简单,我是 JSF 的新手 :)

提前致谢。

【问题讨论】:

    标签: java jsf spring-mvc


    【解决方案1】:

    您可以在您的Managed Bean 中添加一个Map,并使用# 在XHTML 上呈现它

    @ManagedBean
    @RequestScoped
    public class PersonBean{
      private Map<String, String> personPropertyMap;
      //setter + getters
    }
    

    在页面上

    #{personBean.personPropertyMap['property1']}
    

    【讨论】:

    • 嗯..这是可以接受的。但我想输入 #{property1} 而不是 #{personBean.personPropertyMap['property1']},如果没有更好的解决方案,我会接受这个解决方案。
    • 然后您可以直接在请求/会话或其他范围内设置它,EL 将以纯 JSP 样式解析。这不是可取的,因为它有点难以管理
    • @Tommy:如果密钥不需要是动态的,你也可以使用#{personBean.personPropertyMap.property1}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-13
    相关资源
    最近更新 更多