单击按钮调用java方法

时间:2015-02-12 10:32:55

标签: java javascript jquery ajax jsp

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

例如:

爪哇:

@UrlBinding("/Student/import.action")
public class StudentAction implements ActionBean {

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

JSP

<stripes:form beanclass="com.example.action.StudentAction">
   <input type="button" value="Test" onClick="call testMe"/>
</stripes:form>

我在互联网上阅读了一些可以通过Ajax / jQuery完成的帖子,但我无法理解他们是如何做到的。我只知道它应该是这样的:

$.ajax({
    type:"POST"
    url: 
})

$(document).ready(function() {
    $("#button").click(function(){

    })
})

有没有其他方法可以做到这一点,如果没有,我将很感激如何使用Ajax / JQuery做一个简单的解释。

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

2 个答案:

答案 0 :(得分:1)

它不会调用Java方法,您必须在表单提交或使用Servlet时编写doGet()然后调用doPost() Servlet ajax方法呼叫。 refer this example

答案 1 :(得分:0)

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

所以你可以有这个标记:

<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>

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

@UrlBinding("/action/testMeAction")
public TestMeActionBean implements ActionBean {

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

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