我有jsp页面导入Testing.java
<jsp:useBean id="test" scope="session" class="Testing" />
<jsp:useBean id="sb" scope="session" class="SessionBean" />
<jsp:useBean id="eb" scope="session" class="ErrorBean" />
我需要在用户确认更改后调用Testing类中的公共方法。
这是我到目前为止所做的:
<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()
吗?
答案 0 :(得分:1)
您可以使用这种方式,尽管有更好的方法使用servlet。
<%com.example.Testing.yourMethod()%>
答案 1 :(得分:1)
该页面已由服务器发送到您的浏览器。虽然javascript可以修改页面的内容,但为了调用bean的方法,你必须调用服务器(对servlet的请求),因为bean存在于服务器端。并且可以通过创建映射到servlet的url或其操作是servlet的表单来进行此调用
onClick=myJavascriptMethod()
如果表单的方法是GET,则在servlet的doGet()方法中调用你的bean方法。
此表单不需要包含任何类型的字段。创建它只是为了向servlet发出请求。而你通常会点击提交按钮继续操作,这次我们将通过javascript提交表单。使用一些javascript技巧,我认为这个表单也可以隐藏,因为你实际上并不需要它显示在你的页面中
所以你只需在你的jsp中创建这个表单,并通过javascript提交它,如下所示:
在您的链接上,您将<script type="text/javascript">
function myJavascriptMethod)=()
{
document.forms["myform"].submit();
}
</script>
;在你的jsp中,你创建了一个javascript块
{{1}}
答案 2 :(得分:1)
我在google搜索时发现的第二种方法就是这个:
How do I pass current item to Java method by clicking a hyperlink or button in JSP page?
在您的情况下,代码将是
mesos/src/examples
newPage.jsp只包含
<a href="newPage.jsp"><img.. ></a>