Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript在Struts中调用方法?_Javascript_Struts - Fatal编程技术网

如何使用javascript在Struts中调用方法?

如何使用javascript在Struts中调用方法?,javascript,struts,Javascript,Struts,我想从java脚本调用动作文件中的一个方法 这就是我的代码 <img src="image/travel.jpg" alt="test" onclick="javascript:doABC();"/> javascript部分是: <script language="javascript"> function doABC(){ var form = document.forms["Welcome"]; form.action = "Welcome.

我想从java脚本调用动作文件中的一个方法 这就是我的代码

<img src="image/travel.jpg" alt="test" onclick="javascript:doABC();"/>

javascript部分是:

<script language="javascript">

function doABC(){
    var form = document.forms["Welcome"];
    form.action = "Welcome.action";
    form.submit();
}

</script>

函数doABC(){
var form=document.forms[“欢迎”];
form.action=“Welcome.action”;
表单提交();
}
这样我就可以调用execute方法了!但是我想调用不同的方法,例如,我想调用test()而不是execute!! 但是我不知道如何包括这个! 我可以用如下按钮调用不同的方法:

<s:submit method="execute" value="Enter The Site" align="center"/>  
<s:submit method="test" value="Enter The Site" align="center"/> 


如果要通过图像的onclick调用test(),该怎么办

这取决于您所说的“调用方法”是什么意思,以及您希望如何处理该调用的结果

如果要将图像用作链接,可以使用动作映射,并将其
的“method”
属性设置为相应的方法

如果启用,可以使用
“!test”
将方法名称附加到URL。这也由
标记通过其
“method”
属性进行处理


如果您不想重新刷新页面,那么您需要使用Ajax,例如jQuery插件、Dojo插件(长期不推荐),或者通过“本机”使用JavaScript框架,即编写简单的旧JavaScript。

不,我必须在struts的action类中使用方法!我想创建不同的图片,通过点击每一张图片,就会发生不同的动作!我知道如何使用我询问的URLjavascript@KhashayarNapster正如我所说,如果你不想刷新页面,你需要使用Ajax。如果您只是尝试更新img标记的“src”属性,那么可以使用一个动作URL并将图像流式返回。还是不清楚你想做什么。我其实不在乎是否提神!我在struct中有一个execute方法,它从db中创建一些数据并将其发送到下一页。还有一种测试方法,它通过进行不同的查询来创建其他数据!想想看,我想在struts中调用不同的方法!这可能吗?@KhashayarNapster是的;我提供了三种机制来实现这一点:使用“method”属性集创建映射,使用url标记及其“method”属性,或者使用“!”语法手动创建动态方法调用url。@KhashayarNapster好的,我放弃了。如果你不能描述你想要什么,那就没有办法了。您可以通过发出请求来调用Struts 2方法。您可以通过单击链接或重新设置当前窗口的位置来发出请求。您可以使用请求参数为操作提供参数。祝你好运