我已经有几年没有接触过 Struts2 并且不得不对一些 JSP 页面进行一些维护。但我无法弄清楚将输出从<s:Action>
标签传递到标签的正确语法<s:url>
。
我想做以下事情:
<s:action name="loadPath" namespace="/files" flush="false" var="filePath" />
<s:url value="#filePath.path"/>
但这不起作用。但是,我可以看到通过执行以下操作正确设置了我的路径属性:
<s:property value="#filePath.path" />
我玩过 %、# 和 $,但似乎找不到正确的组合来将值从堆栈中取出并放入 s:url 标记中。
啊哈!
经过更多的挖掘和反复试验,我终于找到了正确的组合:
<s:url value="%{ #filePath.path }"/>
但我不明白为什么会这样。谁能解释为什么这种语法有效而不仅仅是value="#filePath.path"
?