2015-05-22 2 views
0

У меня есть страница JSP, которая импортирует Testing.javaвызова метода 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 и позвонить persistPrintingInfo() через javascript?

+0

Если вы хотите вызвать java-метод из javascript, вам нужно будет использовать ajax. – jcubic

+0

Возможный дубликат http://stackoverflow.com/questions/2354293/calling-a-java-method-in-jsp – Bikku

+0

Вы не можете вызвать код на стороне сервера с javascript на стороне клиента. –

ответ

1

страница была отправлена ​​сервером в ваш браузер. в то время как javascript может изменять содержимое вашей страницы, чтобы вызвать метод bean-компонента, вы должны сделать вызов на сервер (запрос на сервлет), поскольку beanause живет на стороне сервера. и этот вызов может быть сделан путем создания URL, отображенное на сервлет, или форму, действие которой является сервлетом

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

если метод формы является GET, то по методе doGet() сервлета вы называете bean's метод.

Эта форма не должна содержать никаких полей. он создается только для запроса на сервлет. в то время как вы обычно нажимаете кнопку отправки, чтобы перейти к действию, на этот раз мы отправим форму через javascript. с некоторыми трюками javascript, я думаю, что эта форма также может быть скрыта, потому что вам действительно не нужно, чтобы она отображалась на вашей странице

поэтому вы просто создаете эту форму в своем jsp и отправляете ее через javascript, как это : по вашей ссылке, у вас будет onClick=myJavascriptMethod(); в вашем JSP, вы создаете яваскрипта блок

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

0

Вы можете использовать этот способ, хотя есть более эффективные подходы к использованию сервлетов.

<%com.example.Testing.yourMethod()%> 
Смежные вопросы