我有一个java程序,可以使用列ID, FirstName, LastName, Age
访问数据库。 (ID是主键,数据库中没有两个元素具有相同的ID)。
在我的程序的一部分中,Servlet
显示HTML表格中数据库中的所有元素,但它只显示ID和FirstName
- 字段。我已将ID字段设置为超链接。到目前为止一切都很好。
但是,当用户点击ID超链接时,我希望将其转发到Servlet
,显示他们点击的特定元素的ID, FirstName, LastName, and Age
。所以,让我们说这是HTML显示的表:
[ID=1, FirstName=Jim]
和[ID=2, FirstName=Joe]
。数据库中的实际数据是:
[ID=1, FirstName=Jim, LastName=Smith, Age=25]
和[ID=2, FirstName=Joe, LastName=Chang, Age=37]
。在显示表中,ID字段是Jim和Joe的超链接。到目前为止,这一切都在发挥作用。
然而,当我实际点击一个时,它不能做我想要的。说我在Joe面前点击了超链接2。然后我希望它能从数据库中显示2,Joe,Chang,37,但我不知道该怎么做。
所有超链接正在执行的是将请求转发到Servlet
,其URL模式为DisplayPerson.do
,并尝试获取ID参数,以便它可以获取具有该ID的元素并显示所有其他领域。
我知道如何显示所有字段如果我可以获取ID参数 - 但是当我点击每个不同的超链接ID时我不知道如何设置或发送不同的ID参数,它们都只是转发到同一个{{ 1}}但是这不知道请求是从哪个发送的。
如果可能的话,我还想避免URL附加,但如果这是唯一的方法,那么我就可以做到。有人可以解释如何做到这一点(或者即使)?
答案 0 :(得分:0)
看起来您的第一个回复已经拥有了所需的所有内容,那么为什么要向服务器发送另一个请求呢?除非你想在服务器上做一些全新/不同的事情,否则更好的方法是使用客户端javascript来显示你想要点击URL的东西。基本上,将所有内容作为来自(第一个)servlet的响应发送回客户端,但具有您不希望首先显示隐藏的信息。形成URL,使其具有附加到javascript函数的onclick事件。 java脚本函数可以接受标识符或其他内容,然后在客户端上动态显示内容。
答案 1 :(得分:0)
所以基本问题是...... 但是当我点击每个不同的超链接ID时,我不知道如何设置或发送不同的ID参数,它们都只是转发到同一个Servlet,但是这不知道请求是从哪个发送的。 ..
如何创建超链接?他们需要包含与特定记录关联的ID。所以超链接应该看起来像'http:// yourservername / yourservletname?id = 123'
在第一步创建URL时,需要在链接本身中嵌入id参数。 这应该有效。
另一个提示是在浏览器中安装firebug并查看请求的发送方式。
答案 2 :(得分:0)
如果您不想将参数附加到链接,则可以选择为表格声明一个html表单(form.method = post和form.action = DisplayPerson.do)。假设您只想传递一个参数,在这种情况下为personid
答案 3 :(得分:0)
两个选项:
将参数附加到网址,但您不想这样做。
创建提交按钮,而不是链接,每个记录都有多个表单,您甚至可以为您的请求指定POST。