[英]OGNL Syntax Issue
我有一个带有以下代码段的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}" />
打印时具有值, myVariable
被传递为null。
将页面变量传递给Struts 2方法的正确语法是什么?
我认为您缺少目标对象,例如
<s:property value="%{myTarget.myMethod(myVariable)}" />
<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
并调用该方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.