是否可以在Web流上下文中访问值包属性?

时间:2013-10-15 09:45:28

标签: java spring jsf spring-webflow

这是我的网络流程的一部分:

<?xml version="1.0" encoding="UTF-8"?>
<flow xmlns="http://www.springframework.org/schema/webflow"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/webflow
        http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd"
    parent="estatGeneral" start-state="a_cargar_info">

    <attribute name="caption" value="consultaDeutesHandler.filAriadna" />

    <action-state id="a_cargar_info">
        <evaluate expression="consultaDeutesHandler.primeraCarrega(flowRequestContext, usuari)"></evaluate>
        <transition on="success" to="v_formulariDeutesInici"/>
        <transition on="error" to="error"/>
    </action-state>

我想将属性包或支持bean中的文本插入属性中。我试过这个:

<attribute name="caption" value="consultaDeutesHandler.filAriadna" />

其中consultaDeutesHandler.filAriadna是一个返回String的函数。而不是预期值,我只是字面上看到“consultaDeutesHandler.filAriadna”。

有没有办法从属性包中设置属性的值?

1 个答案:

答案 0 :(得分:4)

<attribute>标记不起作用,因为它只支持普通字符串,而不支持EL表达式。

<set>应该这样做:

<set name="flowScope.caption" value="consultaDeutesHandler.filAriadna()" />

(视情况替换flowScope的requestScope,conversationScope等。)

您可以稍后在flow xml和视图中引用此值。对于JSF示例,

<div>#{caption}</div>

最终将包含consultaDeutesHandler.filAriadna()

返回的值