如何将Struts2属性设置为JavaScript函数的参数?

时间:2015-11-13 11:00:19

标签: javascript java struts2 ognl

我希望以下列方式使用JavaScript方法myJSFunction

<button onclick="myJSFunction('<s:property value="myJavaModel.myJavaMethod(<s:property value="myStuff"/>)" />')">Finalize</button>

JavaScript方法需要一个参数,该参数基于Javaclass的方法。可以调用不使用参数的方法。但是这个Java方法需要Struts2动作类的值。该值在此上下文中仍然可用,但是如何将此属性值作为Java方法中的参数传递。语法错误。

2 个答案:

答案 0 :(得分:1)

你不能像那样嵌套标签,你也不需要。将评估<s:property>标记value属性中的所有内容。因此,如果您有myStuff个访问者在运行,那么以下代码将起作用。

<button onclick="myJSFunction('<s:property value="myJavaModel.myJavaMethod(myStuff)" />')">Finalize</button>

答案 1 :(得分:-1)

您可以将myStuff值存储在JSP页面中的隐藏参数中。 将此隐藏值传递给JS。

<input type="hidden" name="myStuffValue" value="<%=myModel.getMyMethodValue%>">
<input type="submit" onclick="play(<s:property value="myStuffValue"/>)">