我有导入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" />
用户确认更改后,我需要调用测试类中的公共(public)方法。
这是我到目前为止所拥有的:
<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()
吗?
最佳答案
该页面已由服务器发送到您的浏览器。虽然 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 block
<script type="text/javascript">
function myJavascriptMethod)=()
{
document.forms["myform"].submit();
}
</script>
关于java - 从jsp页面调用Java方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30400623/