JSP中常用的格式化包括:
1. 字串的格式化
2. 字串和HTML顯示內容的格式化
3. 日期的格式化
一、字串的格式化
字串處理是項目中使用最頻繁的,Java中提供了二種格式化字串的方法,JDBC還提供了一種問號參數類似于格式化SQL語句。
1. 使用String.format()方法格式化字串
文法格式為:public static String format(String format, Object... args)
其中字串中的預留位置(與C語言相同)為:%d -- 整數 %f --小數 %s -- 字串
格式化時按預留位置的順序使用變數的值替換。如有重複值,需要寫兩個%d,賦值兩個
例如:
String
str = "select top %d * from tb_user";
str
= String.format(str, 10);
2. 使用MessageFormat格式化字串。
類MessageFormat來自java.text包
預留位置:{0}、{1} 或者 {1[, 格式類型[,格式樣式]]}
格式類型有:number, date, time, choice
格式樣式詳情請參見:JDK協助。
例如:
int planet = 7;
String event = " disturbance ";
String result = MessageFormat.format(
"At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.",
planet, new Date(), event);
輸出為:
At
12:30 PM on Jul 3, 2053, there was disturbance on planet 7.
3. SQL語句的問號參數
使用?為預留位置,順序從1開始。
在建立PreparedStatement對象執行SQL語句前,為所有的問號設定參數值。
語句為:
private void bindParameter(Object... params){
if(params
!= null){//此處使用可變參數,如果沒有參數,則為null,否則為參數數組,類型為Object
int
i = 1; //參數序號從1開始
for(Object
o : params){
if(o
== null){
pre.setNull(i,Types.VARCHAR); //設定資料庫的欄位值為NULL
}else
if(o instanceof java.util.Date){ //o如果為java.util.Date的對象,返回true
java.util.Date
dd = (java.util.Date)o;
java.sql.Date
sd = new java.sql.Date(dd.getTime());
pre.setDate(i,
sd);
}else{
pre.setObject(i,
o);