2015-11-13 77 views
1

我想使用的JavaScript方法myJSFunction以下列方式:如何将Struts2属性设置为JavaScript函数的参数?

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

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

+1

当您删除嵌套的''标记并仅使用myStuff时会发生什么? –

+0

这就是答案Aleksandr!谢谢 ! – Marwief

+0

使用合法的JSP往往是第一步。 –

回答

-1

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

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

NO。不工作。在发布之前测试东西。 –

+0

对不起,但你的解决方案不起作用。 – Marwief

+0

您正在将值设置为DOM中的隐藏表单字段,并尝试使用JSP标记访问它:(您也可以使用'',但只需使用OGNL即可。 –

1

您不能像这样嵌套标签,而且您不需要。 <s:property>标签value中的所有内容都将被评估。所以如果你有myStuff访问者在行动,那么下面的代码将工作。

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