我有一个自定义的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属性的表达式中访问它。总的来说,这有可能吗?如果是这样,快速的代码片段将真正有助于澄清解决方案。
如果我要澄清一些事情,请告诉我。谢谢!
答案 0 :(得分:1)
自定义标记写入的值可以用作set
标记的主体,将值放入值堆栈,然后您可以通过form
中的OGNL访问它标签属性。
如果标签与主体内容一起使用,则省略value参数的评估。而是将body评估的String设置为作用域变量的值。
<s:set var="foo"><foo:property name="bar"/></s:set>
<s:form action="%{#foo}">