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);