在 Struts 标签属性中使用自定义 JSTL 标签

Using custom JSTL tags in a Struts tag attribute

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

<foo:property name="bar"/>

这里的Struts标签是<s:form/>。我希望能够使用 <foo:property/> 中的值来确定 <s:form/>action 属性的值,例如:

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

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

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

如果我需要澄清一些事情,请告诉我。

自定义标记写入的值可用作 set tag, which put the value in the ValueStack, then you can access it via OGNL in the form tag 属性的主体。

If the tag is used with body content, the evaluation of the value parameter is omitted. Instead, the String to which the body evaluates is set as value for the scoped variable.

<s:set var="foo"><foo:property name="bar"/></s:set> 
<s:form action="%{#foo}">