簡體   English   中英

如何在請求對象中調用setParameter?

[英]How can I call setParameter in a request object?

這可能是由於我對JSP和JSTL的誤解和不完整信息造成的。 我有一個網頁,我有輸入元素,如

<input name="elementID" value="${param.elementID}"/>

當我嘗試保存表單時,我檢查該elementID和其他元素是否符合某些約束“numeric,less than XXX”。 如果他們沒有,我會顯示一條錯誤消息。 保存所有參數,用戶在修復錯誤后無需再次鍵入。

保存后,當我重定向到要編輯的對象的同一頁面時,我正在尋找設置參數的方法,如request.setParameter("elementID",..)有沒有辦法做到這一點? 但是,我唯一能找到的是request.setAttribute

HTTP響應不支持傳遞參數。
JSP / Servelets允許您為此目的使用request.setAttributesession.setAttribute 在處理您重定向到的頁面時,這兩種方法都可用,所以基本上,你做得對...

此外,根據您的描述,您可能需要檢查客戶端驗證:在使用客戶端腳本(javascript)驗證表單之前,請不要提交表單

我必須將<%@ page isELIgnored="false"%>到我的jsp中,以允許像${elementid}這樣的代碼工作

在servlet處理表單之后(即將用戶輸入保存在數據庫中),讓servlet轉發(不重定向,因為那會丟失請求參數)對包含表單的同一個jsp的請求。 所以沒有必要設置params,因為servlet只是傳回同一個請求對象。

包含表單的jsp應該具有與此類似的輸入:

<form>
...
<input type="text" value="${elementid}"/>
...
</form>

語法$ {varname}是EL。 因此,如果elementid已經有一個值,那么該textfield將包含該值。 或者,如果您沒有使用EL和/或JSTL,則使用scriptlet(但這是非常不可取的,EL和/或JSTL應該是這樣的):

<form>
...
<input type="text" value="<%= request.getParameter("elementid") %>"/>
...
</form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM