我有一个Struts2JSP页面,其中包含以下代码片段:
<s:property value="%{myVariable}" />正确地打印出myVariable的值。
现在,我想在我的操作中将myVariable传递给一个方法,该方法根据myVariable的值计算结果。我尝试了以下几种方法:
<s:property value="%{myMethod(myVariable)}" />myMethod的第一行打印出一条调试语句。使用上面的代码片段,不会打印此调试语句。
然后我尝试了一下:
<s:property value="%{myMethod(#myVariable)}" />我的调试语句被打印出来,但是myVariable的值被作为null传递,即使它在通过<s:property value="%{myVariable}" />打印时有一个值
将页面变量传递给Struts2方法的正确语法是什么?
发布于 2013-04-30 07:50:05
<s:property value="%{myMethod(myVariable)}" />是正确的语法,但要获取具有签名的方法的值
public String myMethod(String value){
return value;
}需要用于myVariable的getter
public String getMyVariable() {
return myVariable;
}如果将该值设置为myVariable,如下所示
private String myVariable = "myValue";然后,它应该在JSP中打印。如果参数是其他类型,它将被转换为String,并且该方法将调用。
发布于 2013-04-30 05:12:02
我认为您缺少目标对象,例如
<s:property value="%{myTarget.myMethod(myVariable)}" />https://stackoverflow.com/questions/16288274
复制相似问题