我有一个页面可以从车队中删除具有特定注册号的车辆:
第1步 - page.jsp - 页面输入车辆登记号码和搜索按钮
第2步 - servlet通过reg查找汽车。数据库中的数字,然后我不会显示所有车辆细节(型号,类型),并询问用户是否确定这是一个正确的车辆删除。
第3步 - 所以我将用户重定向到另一个页面,其中包含所有车辆详细信息和两个按钮(返回,删除)。
问题1
当我进入我的reg。在第一页上我可以在servlet中将其作为request.getAttribute(reg_number)
获取,但我可以从确认页面获取它吗?
问题2 考虑到我只能使用jsp和servlets,这是一种做出混淆的正确方法吗?
我无法使用javascript
感谢您考虑我的问题
答案 0 :(得分:0)
我想这是对这两个问题的部分答案:您可以将属性“附加”到会话而不是请求。只需记住在完成第3步后“清空”它。
答案 1 :(得分:0)
处理此问题的一种非常常见的方法是将标识符(在这种情况下为注册号)传递回第3步中的页面。由于您正在重定向,因此您只需将注册号作为请求参数传递。
带有“删除”按钮的确认页面将是一个表单(因为它应该使用POST来表示这些语义),这些表单可能具有作为请求参数提供给页面的注册号的隐藏参数。
您可能会在第3步中的页面上显示此表单:(例如,http://fleetmanager.com/fm/remove?regNumber=AHH8777AHGZZZTSG8747
)
<form id="confirmationForm" method="POST" action="/url/to/really/remove">
<input type="hidden" name="regNumber" value="${fn:escapeXml(param.regNumber)}">
<input type="submit" name="Remove">
</form>
使用Session
可能会导致问题,例如,如果用户正好在浏览器中使用两个两个标签来移除和搜索车辆,则会从车队中删除错误的车辆。我不会使用Session
。