用Button调用JSP/Servlet

本文介绍了如何在JSP中使用Button组件正确调用Servlet。通过设置隐藏的输入字段来传递参数,并探讨了GET与POST方法的应用场景。此外,还提供了使用超链接作为替代方案的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最后一次J2EE作业,被第二小题虐得欲死欲仙,说到底就是被两个问题折腾了,一个是JPA,另一个就是如何在JSP中通过Button调用JSP/Servlet。

 

在网上的无数中英文帖子间寻找答案时,有一个帖子让我印象深刻。帖子是这么说的:点击button是一个客户端的动作,调用JSP/Servlet是服务器做的事,你不可能直接让客户端调用JSP/Servlet,所以唯一的方法就是使用表单的提交按钮,在action中输入get格式的url。

 

由此可见对于概念的掌握是非常关键的。

 

得到了这个提示立刻试了下:

 

 

结果很诡异的事情发生了,无论我怎么设置,点击button后地址栏中都只有DeletePerson,设置中断Debug也确认id的值确实没有通过request传进Servlet。

 

研究了很久,终于发现,原来服务器在处理?x=k格式的action时,会到form内部去找name为"x"的input组件,并把该组件的value放到k的位置,如果没有找到name为"x"的input组件,就会忽略这一项。

 

于是设置了一个隐藏文本框,将name和value设置为想要的值,当然这时候action中的传参部分可以删掉了

 

其实这个时候完全可以把method设置为post,一样可以正常工作

 

当然,如果并不强调使用Button组件来调用JSP/Servlet的话,完全可以直接写个链接:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值