Java EE 8 MVC:使用表单参数
在前兩篇文章中,我們了解了如何在即將到來的Java EE MVC框架中使用查詢和路徑參數 。 這篇文章重點介紹表單參數。
當您使用發布請求提交Web表單時,表單值將作為請求正文的一部分發送。 媒體類型(或內容類型)定義了用于在請求正文中存儲值的格式。 Web表單通常使用媒體類型application / x-www-form-urlencoded。 可以使用@FormParam批注來訪問使用此媒體類型發送的參數。
使用表單參數
假設我們具有以下簡單HTML表單,其中包含兩個文本輸入字段和一個選擇菜單:
<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,表單參數可以自動映射到方法參數。 表單參數使用與查詢或路徑參數( 此處所述)相同的類型轉換規則。 這使得將表單參數轉換為基元,枚舉或對象變得容易。
在字段和方法上使用@FormParam
像其他參數注釋一樣,@ 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} }在此示例中,提交的表單參數映射到字段(id,角色)和設置器(setNameField())。 然后在內部SubmitParams()中,我們可以簡單地訪問字段以獲取表單參數。
快速總結
通過HTML表單提交的參數可以通過@FormParam獲得。 像@QueryParam和@PathParam一樣,可以使用@FormParam注釋字段,方法和方法參數。
- 您可以在GitHub上找到所有示例的源代碼。
翻譯自: https://www.javacodegeeks.com/2016/02/java-ee-8-mvc-working-form-parameters.html
總結
以上是生活随笔為你收集整理的Java EE 8 MVC:使用表单参数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金蝶容器运维指南
- 下一篇: 如何使用命令行生成高强度密码