首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击按钮调用java方法

单击按钮调用java方法
EN

Stack Overflow用户
提问于 2015-02-12 10:32:55
回答 2查看 5.6K关注 0票数 0

是否可以通过JSP中的单击按钮调用Java中的方法?

例如:

Java:

代码语言:javascript
复制
@UrlBinding("/Student/import.action")
public class StudentAction implements ActionBean {

  public void testMe() {
      //do something
    }
}

JSP

代码语言:javascript
复制
<stripes:form beanclass="com.example.action.StudentAction">
   <input type="button" value="Test" onClick="call testMe"/>
</stripes:form>

我在Internet上读到一些文章说Ajax/jQuery可以完成,但我不明白他们是如何做到的。我只知道应该是这样的:

代码语言:javascript
复制
$.ajax({
    type:"POST"
    url: 
})

代码语言:javascript
复制
$(document).ready(function() {
    $("#button").click(function(){

    })
})

还有其他方法可以做到这一点吗?如果没有,我希望能对如何使用Ajax/JQuery进行简单的解释。

注意:我不想使用提交输入或条纹:提交!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-12 10:37:56

如果您有一个ActionBean (这是一个servlet ),您可以将一个@UrlBinding绑定到它(就像您已经做的那样)。您只需在按钮的'click'事件处理程序中使用Ajax向该URL发出HTTP请求即可。

这样你就可以得到这样的标记:

代码语言:javascript
复制
<stripes:form beanclass="com.example.action.TestMeActionBean">
    <input type="button" value="Test" onClick="testMe()"/>
</stripes:form>
<script>
function testMe () {
    $.ajax({
        type: 'post',
        url: 'action/testMeAction',
        ...
    });
}
</script>

在服务器端,只需创建处理操作:

代码语言:javascript
复制
@UrlBinding("/action/testMeAction")
public TestMeActionBean implements ActionBean {

之后,您只需要编写一个处理程序方法。例如,使用方法声明:

代码语言:javascript
复制
    @DefaultHandler
    public void testMe() {
        //do something
    }
}
票数 0
EN

Stack Overflow用户

发布于 2015-02-12 10:34:58

它不会调用Java方法,您必须编写Servlet,然后在表单提交或使用ajax调用时调用ServletdoGet()doPost()方法。请参阅此示例

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28475139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档