我在jsp中将Struts2属性标记作为java函数中的参数传递时遇到了问题。我正在从jsp中调用一个类似这样的java函数,
<s:if test="%{DoSomething()}">
DoSomething()
函数在Action类中,并且为迭代器中的每个记录调用。
问题是我想在函数DoSomething
中传递这个属性<s:property value="userId"/>
作为java字符串,如下所示。
<s:if test="%{DoSomething("<s:property value="userId">/)}">
有没有人能指导我,我怎么能做到这一点。我睁大眼睛,但没有发现任何东西。
3条答案
按热度按时间5f0d552i1#
6rqinv9w2#
很可能你不需要像这样传递一个参数。你正在尝试从你的action类调用一个方法DoSomething。你想在你的action类中传递一个参数给这个方法。userId必须已经存在于你的action类中,否则你不能通过s:property标签得到它。你可以在你的action类的DoSomething方法中使用这个userId变量。
uqxowvwt3#
不能将Struts2标记用于另一个Struts2标记,可以使用表达式语言,先使用
<s:set name="userId" value="userId" />
,然后使用${userId}