Java EE 8 MVC:使用表单参数
在前兩篇文章中,我們了解了如何在即將到來(lái)的Java EE MVC框架中使用查詢和路徑參數(shù) 。 這篇文章重點(diǎn)介紹表單參數(shù)。
當(dāng)您使用發(fā)布請(qǐng)求提交Web表單時(shí),表單值將作為請(qǐng)求正文的一部分發(fā)送。 媒體類型(或內(nèi)容類型)定義了用于在請(qǐng)求正文中存儲(chǔ)值的格式。 Web表單通常使用媒體類型application / x-www-form-urlencoded。 可以使用@FormParam批注來(lái)訪問(wèn)使用此媒體類型發(fā)送的參數(shù)。
使用表單參數(shù)
假設(shè)我們具有以下簡(jiǎn)單HTML表單,其中包含兩個(gè)文本輸入字段和一個(gè)選擇菜單:
<form?action="submit"?method="post"><label>ID:</label><input?type="text"?name="id"?/><label>Name:</label><input?type="text"?name="name"?/><label>Role:</label><select?name="role"><option?value="admin">Admin</option><option?value="reporter">Reporter</option><option?value="accountant">Accountant</option></select><input?type="submit"?/> </form>要處理表單值,我們可以使用以下控制器方法:
public enum Role {admin, reporter, accountant }@Controller @Path("form-params") public class FormParamsController {@POST@Path("submit")public String submitParams(@FormParam("id") long id,@FormParam("name") String name,@FormParam("role") Role role) {...} }使用@FormParam,表單參數(shù)可以自動(dòng)映射到方法參數(shù)。 表單參數(shù)使用與查詢或路徑參數(shù)( 此處所述)相同的類型轉(zhuǎn)換規(guī)則。 這使得將表單參數(shù)轉(zhuǎn)換為基元,枚舉或?qū)ο笞兊萌菀住?
在字段和方法上使用@FormParam
像其他參數(shù)注釋一樣,@ FormParam可以用于注釋字段和方法。
例如:
@Controller @Path("form-params-fields") public class FormParamsFieldController {@FormParam("id")private long id;@FormParam("role")private Role role;private String name;@FormParam("name")public void setNameField(String name) {this.name = name;}@POSTpublic String submitParams() {// use id, role, name} }在此示例中,提交的表單參數(shù)映射到字段(id,角色)和設(shè)置器(setNameField())。 然后在內(nèi)部SubmitParams()中,我們可以簡(jiǎn)單地訪問(wèn)字段以獲取表單參數(shù)。
快速總結(jié)
通過(guò)HTML表單提交的參數(shù)可以通過(guò)@FormParam獲得。 像@QueryParam和@PathParam一樣,可以使用@FormParam注釋字段,方法和方法參數(shù)。
- 您可以在GitHub上找到所有示例的源代碼。
翻譯自: https://www.javacodegeeks.com/2016/02/java-ee-8-mvc-working-form-parameters.html
總結(jié)
以上是生活随笔為你收集整理的Java EE 8 MVC:使用表单参数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 金蝶容器运维指南
- 下一篇: 如何使用命令行生成高强度密码