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

时间:2015-03-12 06:25:20

标签: jsp struts2 jstl ognl

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

<foo:property name="bar"/>

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

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

我知道默认情况下struts标记属性是从值堆栈上的对象评估的,我们可以使用OGNL来精确访问它们。问题实际上是否有一种方法可以将从自定义JSTL获得的值放在值堆栈上,然后使用OGNL在用于插入action属性的表达式中访问它。总的来说,这有可能吗?如果是这样,快速的代码片段将真正有助于澄清解决方案。

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

1 个答案:

答案 0 :(得分:1)

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

  

如果标签与主体内容一起使用,则省略value参数的评估。而是将body评估的String设置为作用域变量的值。

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