按钮单击将JSP数据传递给Java类,反之亦然

Passing JSP data to Java class and vice versa on button click

在JSP中,我是相当新的,我正在尝试解决如何将在JSP页面中输入的数据传递给Java类,并在单击时将数据返回到JSP页面。

我的index.jsp看起来有点像这样:

1
2
3
4
5
6
<%@ page import="mypackage.*" %>
<% myClass c = new myClass();
c.setString("String"); %>
<p>
This is a test: <%= c.getString(); %>
</p>

上面的代码将输出"string"。如果我在页面加载时设置该值,就可以毫无问题地访问我的类。经过一些研究,我尝试使用servlet。我修改了表单以在表单操作中添加servlet"testservlet":

1
<form method="POST" action="testServlet">

然后,在testservlet中的dopost()方法中,我添加了以下内容:

1
2
String myString = request.getParameter("myString"); //myString is also the name of my textbox
System.out.println("Entered string:" + myString);

但是,很明显,我遗漏了这个流程中的一个关键部分,而且我很可能对这个流程有错误,以及在我按下Submit之后的所有表单都被重定向到testservlet,所以我得到了一个错误,即资源不可用,因为它不是JSP/HTML页面。

所以我的问题是,我怎样才能将数据从JSP传递给Java,反之亦然呢?另外,没有servlet有没有可能做到这一点?学习JSP及其行为(如传递数据)的良好教程/示例有哪些?请帮忙。

经过更多的研究,我现在能够使用jsp:usebean将索引上的数据集传输到细节,但是,正如我在所有我访问过的论坛中所读到的,servlet应该被用来处理这个问题,但是作为一个初学者,这确实让我更加困惑,所以我真的想知道我在这里遗漏了什么。

我已经确保servlet是在web.xml上注册的,并且没有更改其中的任何内容。

更新:我尝试从头开始重新创建项目,并设法使servlet工作。结果发现,doget()方法中缺少了一些内容。但现在我的问题是,有没有一种方法可以在JSP文件中不使用servlet或页面导入来处理表单?我看到了一个不使用servlet或页面导入的示例代码。我确实注意到了标签。


使用JavaBean和吸收器和设置器来实现类成员变量。