1. 程式人生 > >java web開發——從表單資訊到實體類的封裝程式碼簡化

java web開發——從表單資訊到實體類的封裝程式碼簡化

想一想,我們以前在用jsp傳遞表單資訊嗎?

<form action="stu.do" method="post"> 
	<input type="hidden" name="handler" value="addStu"> 
	
	使用者名稱稱:<input type="text" name="stuName"><br>
	性別:<input type="radio" name="stuGender" value="F">女<input type="radio" name="stuGender" value="M">男<br>
	生日:<input type="text" name="stuBirthday"><br>
	電話:<input type="text" name="stuPhone"><br>
	<input type="submit" value="提交">
</form>

然後再將資訊在另一個頁面接收,通過語句:

String stuName = request.getParameter("stuName");//用request.getParameter方法進行接收,用同樣的方式接收其他變數

進行接收資訊。最後再呼叫Student的構造方法或者get和set方法進行封裝。然而,懶惰是第一生產力,通過引入beanutil 使用其提供的封裝實體bean 的方法可以簡化程式碼的編寫。尤其是在實體bean比較多,需要多次封裝的情況下更能體現beanutil的優勢。下面是操作步驟:

<dependency>
			<groupId>commons-beanutils</groupId>
			<artifactId>commons-beanutils</artifactId>
			<version>1.9.3</version>
		</dependency>

對於一個maven工程,首先在pom.xml中貼上上面的程式碼,引入beanutil的jar包,然後我們就可以使用嘍!

在jsp表單跳轉到的處理資訊的頁面中:

Student stu = new Student();//新建一個實體bean物件
		Map<String, String[]> map = request.getParameterMap();//將表單中的資訊儲存在一箇中
		BeanUtils.populate(stu, map);//然後將map中的資訊賦值到實體bean中

需要注意的是,表單中變數名稱需要和實體bean物件中的一致,傳遞到map中都以String的格式進行儲存。必要的時候可以新增一個轉換器進行資料型別的轉換。例如:

ConvertUtils.register(new Converter(){
			public Date convert(Class type, Object value) {
				if(value != null){
					try {
						return new SimpleDateFormat("yyyy-MM-dd").parse(value.toString());
					} catch (ParseException e) {
						e.printStackTrace();
					}
				}
				return null;
			}
			
		}, Date.class);
當然,當代碼任務量比較小,不是很複雜的情況下並不能體現出這種方式的優勢。但是當工程比較大時我們可以考慮一下這種方式的程式設計。在定義轉換器的過程中我們使用到了內部類,需要注意的時內部類在使用的時候,如果有用到外部的變數,則該變數在定義的時候需要加上關鍵字final,從而可以確保java的封裝的特點。

相關推薦

java web開發——資訊實體封裝程式碼簡化

想一想,我們以前在用jsp傳遞表單資訊嗎?<form action="stu.do" method="post"> <input type="hidden" name="handler" value="addStu"> 使用者名稱稱:<

Java Web中提交之後跳轉到WebContent目錄下的子目錄裡的jsp檔案

最近在做一個系統,需要完成登入動能進行跳轉到另一個頁面。在這個專案裡面,我把 jsp,css,js檔案都統一放在 WebContent 目錄下的一個 WebPage 裡面。 按照以前的習慣,寫好了 servlet 之後在 web.xml 裡面完成配置,但由於平時 jsp 檔案都是直接

springmvc無法接收ajax提交form實體資訊

前端接受資料: function commitConfirm(){ var recept_sn=document.getElementById("recept_sn").value;alert(rec

Java Web開發總結(三) —— request接收提交中文參數亂碼問題

字符串 public servlet 參數 byte[] 解決 操作 get span 1、以POST方式提交表單中文參數的亂碼問題 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"

Java——Web開發之簡單的學生資訊管理系統

這僅僅是一個跟著視訊學習的小系統,大牛就繞道啦~ 系統實現的功能: 與mysql資料庫連線,實現登陸功能 管理員登陸成功後能檢視學生資訊 擴充套件功能(完成刪除與更新學生資訊的操作) 系統實現過程: 寫一個簡單的登陸

Java——Web開發之MVC設計模式的學生資訊管理系統(二)

為什麼這個標題為“(二)”,其實是對於上一個特別簡單學生資訊管理系統裡功能的完善。 所謂的“(一)”在這:學生資訊管理系統(一) 系統實現的功能: 實現新增學生 顯示查詢到的學生 刪除學生 更新學生資訊 模糊查詢符合相關資訊的學生

零開始使用Docker構建Java Web開發執行環境

概述 前面我們講了關於Docker的一些基本概念和操作,今天我們以一個簡單的Java Web例子來說一下Docker在日常工作中的應用,本篇主要講如下幾部分內容:建立jdk映象、建立resin映象、啟動web專案。因為本篇中的內容都是基於Dockerfile來建立的,針對於

初學 Java Web 開發,請遠離各種框架, Servlet 開發

Web框架是開發者在使用某種語言編寫Web應用服務端時關於架構的最佳實踐。很多Web框架是從實際的Web專案抽取出來的,僅和Web的請求和響應處理有關,形成一個基礎,在開發別的應用專案的時候則可以從這個剝離出來的基礎做起,讓開發者更關注更具體的業務問題,而不是Web的請求

學習:零玩轉HTML5前端+跨平臺開發標籤-非input標籤(掌握))

form表單標籤 <form action = "提交到伺服器地址">       <表單元素> </form>常見的表單元素     <input type = "text" name = "username"> 明文輸入框 

學習:零玩轉HTML5前端+跨平臺開發練習(理解))

單選框:radio,通過name屬性進行互斥;checked預設選中多選框:checkbox,通過name屬性進行互斥;checked預設選中下拉選中框:select除了按鈕型別的input標籤以外,其他的型別的標籤都可以通過一個value屬性來指定將來提交到伺服器的值提交:

學習:零玩轉HTML5前端+跨平臺開發標籤-按鈕(掌握))

【表單標籤——按鈕】(需要配合JS使用)1.普通按鈕<input type="button" value="我是按鈕”>2.圖片按鈕<input type="image" src="">3.重置按鈕<input type="reset">

web自動化 excel 倍型位置資料讀取到網頁鹼基序列,自動填寫NCBI的blast 並提交自動化流程

#匯入資料庫 import requests import pandas as pd from selenium import webdriver import time import pyperclip from selenium.webdriver.common.keys import

java web開發一個帳號同一時間只能一個人登入(點登入)

對於一個帳號在同一時間只能一個人登入,可以通過下面的方法實現: 1 .在使用者登入時,把使用者新增到一個ArrayList中 2 .再次登入時檢視ArrayList中有沒有該使用者,如果ArrayList中已經存在該使用者,則阻止其登入 3 .當用戶退出時,需要從該ArrayList中刪除該使用者,這又分為

一個簡單專案看java web 開發的整體佈局

需求說明: 效果圖: 1:資料庫: 2:匯入資訊頁面: 3:匯入成功後的資料庫: 4:顯示考情資訊(3條): 專案整體格局: 注意:不用管最後一個servlet的包,這個是為了測試,將attenceAction.jsp用se

Java Web開發環境搭建

web 瀏覽器 ble 安裝tomcat 配置環境 6.0 work enable 開發 1.1 下載並安裝JDK   安裝完成後需要配置環境變量:     1. 右鍵單擊【我的電腦】->【屬性】->【高級】->【環境變量】     2. 【新建用戶變量】

JAVA-JAVA WEB開發工具下載

nload download acl web開發 network 開發 下載 .exe x64 JAVA WEB開發工具下載 1.JDK下載程序名:jdk-8u141-windows-x64.exe下載地址:http://www.oracle.com/technetwor

Java開發工程師(Web方向) - 01.Java Web開發入門 - 第4章.Maven

編譯器 靜態資源 重復 mvn clean art servle 技術 工具 環境 第4章--Maven Maven實戰 Java Web應用的部署: 手動式: 編譯:javac -cp $CATALINA_HOME/lib/servlet-api.jar web-inf/

Java開發工程師(Web方向) - 01.Java Web開發入門 - 第6章.蜂巢

多個 計算 margin style 打包 工程 自動 後端服務 運行 第6章--蜂巢 蜂巢簡介 網站開發完,就需要測試、部署、在服務器上運行。 網易蜂巢: 采用Docker容器化技術的雲計算平臺 https://c.163.com 容器管理:容器可被視作為雲主機的服務器

Java Web開發實戰經典》.(李興華).[PDF]pdf

多維 為什麽 get thread 覆寫 受限 thread類 基本應用 5.1 下載地址:網盤下載 內容簡介 · · · · · · 《Java開發實戰經典(名師講壇)》是一本綜合講解Java核心技術的書籍,在書中使用大量的代碼及案例進行

Java Web開發中Spring+MyBatis框架的簡單搭建

jar包 簡單的 .class pre web項目 指定 clip 開發 location 這裏使用的eclipse,首先創建一個動態web項目。 1、導入Spring IOC、AOP、DAO、dbcp、dbdrive、mybatis.jar 、 mybatis-s