1

我有一个自定义的 JSTL 标记foo,它会向作者写入一个所说的属性。现在我想使用标记在 Struts 标记中写入的值。例如,自定义标签被调用为

<foo:property name="bar"/>

这里的 Struts 标签是 say <s:form/>。我希望能够使用以下值确定action属性的<s:form/><foo:property/>

<s:form action="<foo:property name='bar'/>"/>

我知道默认情况下 Struts 标记属性从对象上评估ValueStack,我们可以使用 OGNL 来精确访问这些属性。真正的问题是,是否有一种方法可以将从自定义 JSTL 获得的值放在 上ValueStack,然后使用 OGNL 在用于插入操作属性的表达式中访问它。

总的来说,这可能吗?如果是这样,一个快速的代码片段将真正有助于澄清解决方案。

如果我应该澄清一些事情,请告诉我。

4

1 回答 1

2

自定义标签写入的值可以作为set标签的主体,将值放在 中ValueStack,然后您可以通过form标签属性中的 OGNL 访问它。

如果标签与正文内容一起使用,则省略 value 参数的评估。相反,主体评估的字符串被设置为作用域变量的值。

<s:set var="foo"><foo:property name="bar"/></s:set> 
<s:form action="%{#foo}">
于 2015-03-12T07:45:20.713 回答