我花了最后几个小时让 Struts 表达式按我的意愿工作,但没有成功。
我想从字符串执行 OGNL 表达式。
例如,我有以下代码:
<s:push value="#row">
alert('<s:property value="id + ' ' + id" />');
</s:push>
这完美地给了我两次对象的 id。
这个例子
<s:push value="#row">
<s:set name="expr" value="id + ' ' + id"/>
alert('<s:property value="%{#expr}" />');
</s:push>
工作也很好。
但是现在,如果我在我的操作中创建一个方法:
public String getTest() {
return "id + ' ' + id";
}
在 JSP 中:
<s:set name="expr" value="getTest()"/>
<s:push value="#row">
alert('<s:property value="%{#expr}" />');
</s:push>
结果是:
alert('id + ' ' + id');
由于引号而不起作用。
但是为什么在我的最后一个例子中我有 String 值而不是表达式评估?
我尝试了很多可能性,阅读了文章、教程,但没有找到适合我的问题的答案。