我正在实现一个用Java编写的Web应用程序,用于Apache Tomcat服务器(6.0.4)。
我当前想要做的是在单击以下链接时调用方法。
response.getWriter().println("<a href=\"./NextPage\">Next</a>");
对于JavaScript,onClick
有效,但似乎不适用于Java。
你有任何提示吗?
===更多细节===
我正在为Web应用程序实现Java servlet。
单击链接后,用户将转到下一个servlet。
在移动到下一个servlet之前(单击一个链接),程序应该调用一个方法,该方法将用户的一些输入值注册到数据库。
我不想使用JavaScript。
答案 0 :(得分:0)
您必须创建一个servlet或使用struts框架或类似的东西。
如果你使用jsp,你可能可以调用另一个调用java函数的jsp页面。
<a href=\"./NextPage.jsp\">Next</a>
NextPage.jsp上:
<%
somejavafunction();
%>
答案 1 :(得分:0)
您必须按以下方式使用表单:
(我假设我们是从头开始)
一个。在Web-Inf下的web.xml文件中定义您的servlet:
<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>cs336.servlets.LoginServlet</servlet-class>
<servlet>
<servlet-mapping>
<servlet-name>Login</servlet-name>
<url-pattern>/Login</url-pattern>
</servlet-mapping>
B中。在.jsp页面中,您需要以某种方式指向此servlet的操作,您可以通过以下方式执行此操作:
<form class="LoginHeader" method="POST" action="Login">
<span>
<input type="text" name="user_name" placeholder="User Name / Email" required>
<input type="password" name="password" placeholder="Password" required>
<br>
<span id="loginError"></span>
<input type="submit" value="Log in" class="buttonWhite" id="loginButton"> <br>
<input type="submit" id="forgotPassword" value="I forgot my password...">
</span>
<a id="createAccount" href="index.html">Register</a>
</form>
℃。在您的servlet中,您需要使用正确的方法处理此事件,在这种情况下:
protected void doPost( HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { ... }
我可以用你给的小背景告诉你。差不多,你必须做一个POST来调用servlet,用servlet方法拦截它,做你必须做的事情,然后你可以:
response.sendRedirect(...)
我希望这会有所帮助。