2

我有一个带有以下片段的 Struts 2 JSP 页面:

<s:property value="%{myVariable}" />

正确打印出 的值myVariable

现在,我想传递myVariable给我的操作中的一个方法,该方法根据 的值计算结果myVariable。我尝试了以下方法:

<s:property value="%{myMethod(myVariable)}" />

第一行myMethod打印出调试语句。使用上面的代码片段,这个调试语句没有被打印出来。

然后我尝试了这个:

<s:property value="%{myMethod(#myVariable)}" />

打印了我的调试语句,但是myVariable即使通过<s:property value="%{myVariable}" />

将页面变量传递给 Struts 2 方法的正确语法是什么?

4

2 回答 2

0

我认为您缺少目标对象,例如

<s:property value="%{myTarget.myMethod(myVariable)}" />

更多:如何在 Struts 2 OGNL 中将参数传递给方法调用

于 2013-04-29T21:12:02.250 回答
0
<s:property value="%{myMethod(myVariable)}" />

是正确的语法,但要获取具有签名的方法的值

public String myMethod(String value){
  return value;
}

需要吸气剂myVariable

public String getMyVariable() {
  return myVariable;
}

如果您将值设置为myVariable喜欢

private String myVariable = "myValue";

那么它应该在 JSP 中打印。如果参数是其他类型,它将被转换为String并调用该方法。

于 2013-04-29T23:50:05.227 回答