在jsp中调用java方法

时间:2015-08-27 11:40:16

标签: javascript java jsp

我想在我的javascript页面中调用java类方法:

我的java类方法:

public static String getAccessToken() {
    //OAuth2Details oauthDetails  = new OAuth2Details();
    System.out.println("Test OAuth");
    HttpPost post = new HttpPost("vvv");}

我试过了,我的jsp是:

<% System.out.println("inside java");%>
 <%OAuthUtils ex = new OAuthUtils(); %>
 <%=ex.getAccessToken()%>

但是,它返回null。有人可以建议我如何在javascript中调用方法

1 个答案:

答案 0 :(得分:1)

使用$.get( "/mapping/url/getAccessToken",{ } ).done(function( data ) { if (data != null) { // do your stuff } else { // show error message or whatever } }); 的基础知识将是这样的:

AJAX

当然,要获得正确的结果,您必须告诉Java将此方法映射为可通过@RequestMapping调用访问。

使用Spring @RequestMapping(value = "/mapping/url/getAccessToken") public String getAccessToken() { //OAuth2Details oauthDetails = new OAuth2Details(); System.out.println("Test OAuth"); HttpPost post = new HttpPost("vvv"); if (success) { return "what you need"; } else { return null; } } 注释:

HttpRequest::doGet()

如果您的应用中没有Spring,请展开{{1}}。
Check here a tutorial of AJAX-HttpRequest call


ADD-ON

为什么不在JSP中编写脚本 - Java
这就是为什么人们应该避免在JSP中使用scriplet:

  • JSP Scriptlets降低了代码的可维护性和可读性,因此难以阅读和进行进一步的更改。
  • JSP Scriptlets无法重复使用。
  • JSP Scriptlet不是单元可测试的。
  • JSP Scriplets将演示文稿与非常容易出错的业务逻辑合并。
  • 最后但并非最不重要的一点是,如果JSP Scriptlet抛出异常,它会破坏整个页面,并且不会在处理过程中进一步移动。

From this article