我在页面中使用<s:property>标签调用静态方法如下
<s:property value="@com.xx.FileManage@getFileName('/home/King/document')"/>
getFileName(String path)是FileManage下的静态方法,用来获取文件名,参数path表示文件路径;
当然通过验证,我可以获取到/home/King/document目录下的文件名
现在的问题是到/home/King/document这个路径是动态的,其中的King是当前用户,也就是存在session(Map中有一个username)里
我试过<s:property value="@com.xx.FileManage@getFileName('/home/<s:property value="#session.userMap.userName"/>/document')"/>类似这种,但是都不对
在此请教各位大大,说白了就是过<s:property />嵌套
我知道解决这种需求的方法不是没有,个人觉得遇到问题解决才是王道。
谢谢!
------解决思路----------------------
你用C标签试试。
------解决思路----------------------
jstl标签。。${}
------解决思路----------------------
Struts内再测套行不通,你或许可以考虑下com.xx.FileManage@getFileName("")这个函数本身的优化,既然session可以获取,可否转移到后台处理,再返回到jsp页面中 。
------解决思路----------------------
把中间加上加号试试
------解决思路----------------------
<s:property value="@com.xx.FileManage@getFileName('/home/xxxx/document')"/>
这部分先组合好再返回给前台
------解决思路----------------------
同楼上 在后台组合好 再返回
------解决思路----------------------
没这么试过喔 如果真不行的话 就果断换个思路呗
也不会很麻烦把 后台拼接