【问题标题】:calling Java method from jsp page从jsp页面调用Java方法
【发布时间】:2015-05-22 15:30:59
【问题描述】:

我有导入Testing.java的jsp页面

<jsp:useBean id="test" scope="session" class="Testing" />
<jsp:useBean id="sb" scope="session" class="SessionBean" />
<jsp:useBean id="eb" scope="session" class="ErrorBean" />

用户确认更改后,我需要调用测试类中的公共方法。

这是我目前所拥有的:

<tr>
    <td align="left">
        <a href="<%=test.persistPrintingInfo(eb,sb) %>" >
        <img src="../images/update.gif" OnClick="if( !confirm('Update printing information?')) return false"></a>
    </td>
</tr>

有人知道怎么做吗?

我可以调用javascript方法并通过javascript调用persistPrintingInfo()吗?

【问题讨论】:

标签: java javascript jsp


【解决方案1】:

该页面已由服务器发送到您的浏览器。虽然 javascript 可以修改页面的内容,但为了调用 bean 的方法,您必须调用服务器(对 servlet 的请求),因为 bean 位于服务器端。并且可以通过创建映射到 servlet 的 url 或其操作是 servlet 的表单来进行此调用

`<FORM ACTION="${pageContext.request.contextPath}/sampleServlet">`

如果表单的方法是 GET,那么在 servlet 的 doGet() 方法上调用 bean 的方法。

此表单不需要包含任何类型的字段。创建它只是为了向 servlet 发出请求。虽然您通常会单击提交按钮继续操作,但这次我们将通过 javascript 提交表单。通过一些 javascript 技巧,我认为这个表单也可以被隐藏,因为你实际上并不需要它显示在你的页面中

所以您只需在 jsp 中创建此表单,然后通过 javascript 提交,如下所示: 在您的链接上,您将拥有onClick=myJavascriptMethod();在你的jsp中,你创建一个javascript块

<script type="text/javascript"> function myJavascriptMethod)=() { document.forms["myform"].submit(); } </script>

【讨论】:

    【解决方案2】:

    您可以使用这种方式,尽管使用 servlet 有更好的方法。

    <%com.example.Testing.yourMethod()%>
    

    【讨论】:

      【解决方案3】:

      我在谷歌搜索时发现的第二种方法是:

      How do I pass current item to Java method by clicking a hyperlink or button in JSP page?

      在您的情况下,代码将是

      <a href="newPage.jsp"><img.. ></a>
      

      newPage.jsp 将只包含

      <%yourPackage.YourClass.yourMethod()%>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-30
        • 2013-02-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多