2007年4月17日
MyEclipse5.5推出有一段時間了,但是網上一直都沒有破解的文件,通過今天跟公司幾個同事的努力嘗試終于找到破解的方法了,說起來比較可笑,我們經過好多次的嘗試,最后用MyEclipse4.1的破解文件就可以破解MyEclipse5.5了,我們用的MyEclipse5.5的版本是MyEclipse_5.5M2_E3.2.2,Eclipse的版本是eclipse3.2.2大家可以嘗試一下.
在此特別要說明一下的是運行MyEclipse4.1的時候要選擇MyEclipse4.1&4.2 GA這個選擇才可以破解如圖

MyEclipse_5.5M2_E3.2.2的官方下載地址 : http://www.myeclipseide.com/ContentExpress-display-ceid-110.html
MyEclipse4.1破解文件下載
2007年3月2日
??? 最近在用eclipse的時候,過上一會老彈出一個對話框,提示內存不足(大意),找了好多資料都沒有解決,最近在eclipse的官方網站上找到了其解決的辦法,希望對像我一樣的朋友有幫助,解決方法如下,
在桌面上建一個啟動eclipse的快捷方式,在該快捷方式上單擊右鍵,在常規標簽的目標中加入下面的內容:
E:\eclipse\eclipse.exe -clean -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M,其中“E:\eclipse\eclipse.exe” 是我eclipse的路徑。
然后重啟你的eclipse試試!?
2007年2月13日
在IIS中?發布程序一個ASP.NET程序,通過IE訪問報如下錯誤:
當前標識(NT AUTHORITY\NETWORK SERVICE)沒有對“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”的寫訪問權限。
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息: System.Web.HttpException: 當前標識(NT AUTHORITY\NETWORK SERVICE)沒有對“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”的寫訪問權限。
翻閱了一些資料后發現是需要重新注冊IIS服務擴展, 解決方法如下:
在“開始”-“運行”里輸入如入命令,回車,搞定
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i -enable
2007年1月18日
摘要: 9.8?Struts
與
...
閱讀全文
稱呼
Functions
標簽庫為標簽庫,倒不如稱呼其為函數庫來得更容易理解些。因為
Functions
標簽庫并沒有提供傳統的標簽來為
JSP
頁面的工作服務,而是被用于
EL
表達式語句中。在
JSP2.0
規范下出現的
Functions
標簽庫為
EL
表達式語句提供了許多更為有用的功能。
Functions
標簽庫分為兩大類,共
16
個函數。
q????????
長度函數:
fn:length
q????????
字符串處理函數:
fn:contains
、
fn:containsIgnoreCase
、
fn:endsWith
、
fn:escapeXml
、
fn:indexOf
、
fn:join
、
fn:replace
、
fn:split
、
fn:startsWith
、
fn:substring
、
fn:substringAfter
、
fn:substringBefore
、
fn:toLowerCase
、
fn:toUpperCase
、
fn:trim
以下是各個函數的用途和屬性以及簡單示例。
9.7.1?
長度函數
fn:length
函數
長度函數
fn:length
的出現有重要的意義。在
JSTL1.0
中,有一個功能被忽略了,那就是對集合的長度取值。雖然
java.util.Collection
接口定義了
size
方法,但是該方法不是一個標準的
JavaBean
屬性方法(沒有
get,set
方法),因此,無法通過
EL
表達式“
${collection.size}
”來輕松取得。
fn:length
函數正是為了解決這個問題而被設計出來的。它的參數為
input
,將計算通過該屬性傳入的對象長度。該對象應該為集合類型或
String
類型。其返回結果是一個
int
類型的值。下面看一個示例。
<%ArrayList arrayList1 = new ArrayList();
??????????????????????????? arrayList1.add("aa");
??????????????????????????? arrayList1.add("bb");
??????????????????????????? arrayList1.add("cc");
%>
<%request.getSession().setAttribute("arrayList1", arrayList1);%>
${fn:length(sessionScope.arrayList1)}
假設一個
ArrayList
類型的實例“
arrayList1
”,并為其添加三個字符串對象,使用
fn:length
函數后就可以取得返回結果為“
3
”。
9.7.2?
判斷函數
fn:contains
函數
fn:contains
函數用來判斷源字符串是否包含子字符串。它包括
string
和
substring
兩個參數,它們都是
String
類型,分布表示源字符串和子字符串。其返回結果為一個
boolean
類型的值。下面看一個示例。
${fn:contains("ABC", "a")}<br>
${fn:contains("ABC", "A")}<br>
前者返回“
false
”,后者返回“
true
”。
fn:containsIgnoreCase
函數與
fn:contains
函數的功能差不多,唯一的區別是
fn:containsIgnoreCase
函數對于子字符串的包含比較將忽略大小寫。它與
fn:contains
函數相同,包括
string
和
substring
兩個參數,并返回一個
boolean
類型的值。下面看一個示例。
${fn:containsIgnoreCase("ABC", "a")}<br>
${fn:containsIgnoreCase("ABC", "A")}<br>
前者和后者都會返回“
true
”。
9.7.4?
詞頭判斷函數
fn:startsWith
函數
fn:startsWith
函數用來判斷源字符串是否符合一連串的特定詞頭。它除了包含一個
string
參數外,還包含一個
subffx
參數,表示詞頭字符串,同樣是
String
類型。該函數返回一個
boolean
類型的值。下面看一個示例。
${fn:startsWith ("ABC", "ab")}<br>
${fn:startsWith ("ABC", "AB")}<br>
前者返回“
false
”,后者返回“
true
”。
9.7.5?
詞尾判斷函數
fn:endsWith
函數
fn:endsWith
函數用來判斷源字符串是否符合一連串的特定詞尾。它與
fn:startsWith
函數相同,包括
string
和
subffx
兩個參數,并返回一個
boolean
類型的值。下面看一個示例。
${fn:endsWith("ABC", "bc")}<br>
${fn:endsWith("ABC", "BC")}<br>
前者返回“
false
”,后者返回“
true
”。
9.7.6?
字符實體轉換函數
fn:escapeXml
函數
fn:escapeXml
函數用于將所有特殊字符轉化為字符實體碼。它只包含一個
string
參數,返回一個
String
類型的值。
9.7.8?
字符匹配函數
fn:indexOf
函數
fn:indexOf
函數用于取得子字符串與源字符串匹配的開始位置,若子字符串與源字符串中的內容沒有匹配成功將返回“
-1
”。它包括
string
和
substring
兩個參數,返回結果為
int
類型。下面看一個示例。
${fn:indexOf("ABCD","aBC")}<br>
${fn:indexOf("ABCD","BC")}<br>
前者由于沒有匹配成功,所以返回
-1
,后者匹配成功將返回位置的下標,為
1
。
9.7.9?
分隔符函數
fn:join
函數
fn:join
函數允許為一個字符串數組中的每一個字符串加上分隔符,并連接起來。它的參數、返回結果和描述如表
9.25
所示:
表
9.25
fn:join
函數
參數
|
描述
|
array
|
字符串數組。其類型必須為
String[]
類型
|
separator
|
分隔符。其類型必須為
String
類型
|
返回結果
|
返回一個
String
類型的值
|
下面看一個示例。
<% String[] stringArray = {"a","b","c"}; %>
<%request.getSession().setAttribute("stringArray", stringArray);%>
${fn:join(sessionScope.stringArray,";")}<br>
定義數組并放置到
Session
中,然后通過
Session
得到該字符串數組,使用
fn:join
函數并傳入分隔符“
;
”,得到的結果為“
a;b;c
”。
9.7.10?
替換函數
fn:replace
函數
fn:replace
函數允許為源字符串做替換的工作。它的參數、返回結果和描述如表
9.26
所示:
表
9.26
fn:replace
函數
參數
|
描述
|
inputString
|
源字符串。其類型必須為
String
類型
|
beforeSubstring
|
指定被替換字符串。其類型必須為
String
類型
|
afterSubstring
|
指定替換字符串。其類型必須為
String
類型
|
返回結果
|
返回一個
String
類型的值
|
下面看一個示例。
${fn:replace("ABC","A","B")}<br>
將“
ABC
”字符串替換為“
BBC
”,在“
ABC
”字符串中用“
B
”替換了“
A
”。
9.7.11?
分隔符轉換數組函數
fn:split
函數
fn:split
函數用于將一組由分隔符分隔的字符串轉換成字符串數組。它的參數、返回結果和描述如表
9.27
所示:
表
9.27
fn:split
函數
參數
|
描述
|
string
|
源字符串。其類型必須為
String
類型
|
delimiters
|
指定分隔符。其類型必須為
String
類型
|
返回結果
|
返回一個
String[]
類型的值
|
下面看一個示例。
${fn:split("A,B,C",",")}<br>
將“
A,B,C
”字符串轉換為數組
{A,B,C}
。
9.7.12?
字符串截取函數
fn:substring
函數
fn:substring
函數用于截取字符串。它的參數、返回結果和描述如表
9.28
所示:
表
9.28
fn:substring
函數
參數
|
描述
|
string
|
源字符串。其類型必須為
String
類型
|
beginIndex
|
指定起始下標(值從
0
開始)。其類型必須為
int
類型
|
endIndex
|
指定結束下標(值從
0
開始)。其類型必須為
int
類型
|
返回結果
|
返回一個
String
類型的值
|
下面看一個示例。
${fn:substring("ABC","1","2")}<br>
截取結果為“
B
”。
9.7.14?
起始到定位截取字符串函數
fn:substringBefore
函數
fn:substringBefore
函數允許截取源字符從開始到某個字符串。它的參數和
fn:substringAfter
函數相同,不同的是
substring
表示的是結束字符串。下面看一個示例。
${fn:substringBefore("ABCD","BC")}<br>
截取的結果為“
A
”。
9.7.15?
小寫轉換函數
fn:toLowerCase
函數
fn:toLowerCase
函數允許將源字符串中的字符全部轉換成小寫字符。它只有一個表示源字符串的參數
string
,函數返回一個
String
類型的值。下面看一個示例。
${fn:toLowerCase("ABCD")}<br>
轉換的結果為“
abcd
”。
9.7.16
大寫轉換函數
fn:toUpperCase
函數
fn:toUpperCase
函數允許將源字符串中的字符全部轉換成大寫字符。它與
fn:toLowerCase
函數相同,也只有一個
String
參數,并返回一個
String
類型的值。下面看一個示例。
${fn:toUpperCase("abcd")}<br>
轉換的結果為“
ABCD
”。
9.7.17
空格刪除函數
fn:trim
函數
fn:trim
函數將刪除源字符串中結尾部分的“空格”以產生一個新的字符串。它與
fn:toLowerCase
函數相同,只有一個
String
參數,并返回一個
String
類型的值。下面看一個示例。
${fn:trim("AB C?")}D<br>
轉換的結果為“
AB CD
”,注意,它將只刪除詞尾的空格而不是全部,因此“
B
”和“
C
”之間仍然留有一個空格。
Database access
標簽庫中的標簽用來提供在
JSP
頁面中可以與數據庫進行交互的功能,雖然它的存在對于早期純
JSP
開發的應用以及小型的開發有著意義重大的貢獻,但是對于
MVC
模型來說,它卻是違反規范的。因為與數據庫交互的工作本身就屬于業務邏輯層的工作,所以不應該在
JSP
頁面中出現,而是應該在模型層中進行。
對于
Database access
標簽庫本書不作重點介紹,只給出幾個簡單示例讓讀者略微了解它們的功能。
Database access
標簽庫有以下
6
組標簽來進行工作:
<sql:setDataSource>
、
<sql:query>
、
<sql:update>
、
<sql:transaction>
、
<sql:setDataSource>
、
<sql:param>
、
<sql:dateParam>
。
9.6.1?
用于設置數據源的
<sql:setDataSource>
標簽
<sql:setDataSource>
標簽用于設置數據源,下面看一個示例:
<sql:setDataSource
???????? var="dataSrc"
???????? url="jdbc:postgresql://localhost:5432/myDB"
???????? driver="org.postgresql.Driver"
???????? user="admin"
???????? password="1111"/>
該示例定義一個數據源并保存在“
dataSrc
”變量內。
9.6.2?
用于查詢的
<sql:query>
標簽
<sql:query>
標簽用于查詢數據庫,它標簽體內可以是一句查詢
SQL
。下面看一個示例:
<sql:query var="queryResults" dataSource="${dataSrc}">
????? select * from table1
</sql:query>
該示例將返回查詢的結果到變量“
queryResults
”中,保存的結果是
javax.servlet.jsp.jstl.sql.Result
類型的實例。要取得結果集中的數據可以使用
<c:forEach>
循環來進行。下面看一個示例。
<c:forEach var="row" items="${queryResults.rows}">
????? <tr>
???
?????????? <td>${row.userName}</td>
?????????????????? <td>${row.passWord}</td>
????? </tr>
</c:forEach>
“
rows
”是
javax.servlet.jsp.jstl.sql.Result
實例的變量屬性之一,用來表示數據庫表中的“列”集合,循環時,通過“
${row.XXX}
”表達式可以取得每一列的數據,“
XXX
”是表中的列名。
9.6.3?
用于更新的
<sql:update>
標簽
<sql:update>
標簽用于更新數據庫,它的標簽體內可以是一句更新的
SQL
語句。其使用和
<sql:query>
標簽沒有什么不同。
9.6.4?
用于事務處理的
<sql:transaction>
標簽
<sql:transaction>
標簽用于數據庫的事務處理,在該標簽體內可以使用
<sql:update>
標簽和
<sql:query>
標簽,而
<sql:transaction>
標簽的事務管理將作用于它們之上。
<sql:transaction>
標簽對于事務處理定義了
read_committed
、
read_uncommitted
、
repeatable_read
、
serializable4
個隔離級別。
9.6.5?
用于事務處理的
<sql:param>
、
<sql:dateParam>
標簽
這兩個標簽用于向
SQL
語句提供參數,就好像程序中預處理
SQL
的“
?
”一樣。
<sql:param>
標簽傳遞除
java.util.Date
類型以外的所有相融參數,
<sql:dateParam>
標簽則指定必須傳遞
java.util.Date
類型的參數。
看到
I18N
就應該想到知識“國際化”,
I18N formatting
標簽庫就是用于在
JSP
頁面中做國際化的動作。在該標簽庫中的標簽一共有
12
個,被分為了兩類,分別是:
q????????
國際化核心標簽:
<fmt:setLocale>
、
<fmt:bundle>
、
<fmt:setBundle>
、
<fmt:message>
、
<fmt:param>
、
<fmt:requestEncoding>
。
q????????
格式化標簽:
<fmt:timeZone>
、
<fmt:setTimeZone>
、
<fmt:formatNumber>
、
<fmt:parseNumber>
、
<fmt:formatDate>
、
<fmt:parseDate>
。
下面只選擇其中常見的一些標簽和屬性進行介紹。
9.5.1?
用于設置本地化環境的
<fmt:setLocale>
標簽
<fmt:setLocale>
標簽用于設置
Locale
環境。它的屬性和描述如表
9.17
所示:
表
9.17
<fmt:setLocale>
標簽屬性和說明
屬性
|
描述
|
value
|
Locale
環境的指定,可以是
java.util.Locale
或
String
類型的實例
|
scope
|
Locale
環境變量的作用范圍(可選)
|
下面看一個示例:
<fmt:setLocale value="zh_TW"/>
表示設置本地環境為繁體中文。
9.5.2?
用于資源文件綁定的
<fmt:bundle>
、
<fmt:setBundle>
標簽
這兩組標簽用于資源配置文件的綁定,唯一不同的是
<fmt:bundle>
標簽將資源配置文件綁定于它標簽體中的顯示,
<fmt:setBundle>
標簽則允許將資源配置文件保存為一個變量,在之后的工作可以根據該變量來進行。
根據
Locale
環境的不同將查找不同后綴的資源配置文件,這點在國際化的任何技術上都是一致的,通常來說,這兩種標簽單獨使用是沒有意義的,它們都會與
I18N formatting
標簽庫中的其他標簽配合使用。它們的屬性和描述如表
9.18
所示:
表
9.18
<fmt:bundle>
、
<fmt:setBundle>
標簽屬性和說明
屬性
|
描述
|
basename
|
資源配置文件的指定,只需要指定文件名而無須擴展名,二組標簽共有的屬性
|
var
|
<fmt:setBundle>
獨有的屬性,用于保存資源配置文件為一個變量
|
scope
|
變量的作用范圍
|
下面看一個示例
<fmt:setLocale value="zh_CN"/>
<fmt:setBundle basename="applicationMessage" var="applicationBundle"/>
該示例將會查找一個名為
applicationMessage_zh_CN.properties
的資源配置文件,來作為顯示的
Resource
綁定。
9.5.3?
用于顯示資源配置文件信息的
<fmt:message>
標簽
用于信息顯示的標簽,將顯示資源配置文件中定義的信息。它的屬性和描述如表
9.19
所示:
表
9.19
<fmt:message>
標簽屬性和說明
屬性
|
描述
|
key
|
資源配置文件的“鍵”指定
|
bundle
|
若使用
<fmt:setBundle>
保存了資源配置文件,該屬性就可以從保存的資源配置文件中進行查找
|
var
|
將顯示信息保存為一個變量
|
scope
|
變量的作用范圍
|
下面看一個示例:
<fmt:setBundle basename="applicationMessage" var="applicationBundle"/>
<fmt:bundle basename="applicationAllMessage">
???????? <fmt:message key="userName" />
???????? <p>
???????? <fmt:message key="passWord" bundle="${applicationBundle}" />
</fmt:bundle>
該示例使用了兩種資源配置文件的綁定的做法,“
applicationMessage
”資源配置文件利用
<fmt:setBundle>
標簽被賦于了變量“
applicationBundle
”,而作為
<fmt:bundle>
標簽定義的“
applicationAllMessage
”資源配置文件作用于其標簽體內的顯示。
q????????
第一個
<fmt:message>
標簽將使用“
applicationAllMessage
”資源配置文件中“鍵”為“
userName
”的信息顯示。
q????????
第二個
<fmt:message>
標簽雖然被定義在
<fmt:bundle>
標簽體內,但是它使用了
bundle
屬性,因此將指定之前由
<fmt:setBundle>
標簽保存的“
applicationMessage
”資源配置文件,該“鍵”為“
passWord
”的信息顯示。
9.5.4?
用于參數傳遞的
<fmt:param>
標簽
<fmt:param>
標簽應該位于
<fmt:message>
標簽內,將為該消息標簽提供參數值。它只有一個屬性
value
。
<fmt:param>
標簽有兩種使用版本,一種是直接將參數值寫在
value
屬性中,另一種是將參數值寫在標簽體內。
9.5.6?
用于為請求設置字符編碼的
<fmt:requestEncoding>
標簽
<fmt:requestEncoding>
標簽用于為請求設置字符編碼。它只有一個屬性
value
,在該屬性中可以定義字符編碼。
9.5.7?
用于設定時區的
<fmt:timeZone>
、
<fmt:setTimeZone>
標簽
這兩組標簽都用于設定一個時區。唯一不同的是
<fmt:timeZone>
標簽將使得在其標簽體內的工作可以使用該時區設置,
<fmt:setBundle>
標簽則允許將時區設置保存為一個變量,在之后的工作可以根據該變量來進行。它們的屬性和描述如表
9.20
所示:
表
9.20
<fmt:timeZone>
、
<fmt:setTimeZone>
標簽
屬性和說明
屬性
|
描述
|
value
|
時區的設置
|
var
|
<fmt:setTimeZone>
獨有的屬性,用于保存時區為一個變量
|
scope
|
變量的作用范圍
|
9.5.8?
用于格式化數字的
<fmt:formatNumber>
標簽
<fmt:
formatNumber
>
標
簽用于格式化數字。它的屬性和描述如表
9.21
所示:
表
9.21
<fmt:formatNumber>
標簽屬性和說明
屬性
|
描述
|
value
|
格式化的數字,該數值可以是
String
類型或
java.lang.Number
類型的實例
|
type
|
格式化的類型
|
pattern
|
格式化模式
|
var
|
結果保存變量
|
scope
|
變量的作用范圍
|
maxIntegerDigits
|
指定格式化結果的最大值
|
minIntegerDigits
|
指定格式化結果的最小值
|
maxFractionDigits
|
指定格式化結果的最大值,帶小數
|
minFractionDigits
|
指定格式化結果的最小值,帶小數
|
<fmt:formatNumber>
標簽實際是對應
java.util.NumberFormat
類,
type
屬性的可能值包括
currency
(貨幣)、
number
(數字)和
percent
(百分比)。
下面看一個示例。
<fmt:formatNumber value="1000.888" type="currency" var="money"/>
該結果將被保存在“
money
”變量中,將根據
Locale
環境顯示當地的貨幣格式。
9.5.9?
用于解析數字的
<fmt:parseNumber>
標簽
<fmt:parseNumber>
標簽用于解析一個數字,并將結果作為
java.lang.Number
類的實例返回。
<fmt:parseNumber>
標簽看起來和
<fmt:formatNumber>
標簽的作用正好相反。它的屬性和描述如表
9.22
所示:
表
9.22
<fmt:parseNumber>
標簽屬性和說明
屬性
|
描述
|
value
|
將被解析的字符串
|
type
|
解析格式化的類型
|
pattern
|
解析格式化模式
|
var
|
結果保存變量,類型為
java.lang.Number
|
scope
|
變量的作用范圍
|
parseLocale
|
以本地化的形式來解析字符串,該屬性的內容應為
String
或
java.util.Locale
類型的實例
|
下面看一個示例。
<fmt:parseNumber value="15%" type="percent" var="num"/>
解析之后的結果為“
0.15
”。
9.5.10?
用于格式化日期的
<fmt:formatDate>
標簽
<fmt:formatDate>
標簽用于格式化日期。它的屬性和描述如表
9.23
所示:
表
9.23
<fmt:formatDate>
標簽屬性和說明
屬性
|
描述
|
value
|
格式化的日期,該屬性的內容應該是
java.util.Date
類型的實例
|
type
|
格式化的類型
|
pattern
|
格式化模式
|
var
|
結果保存變量
|
scope
|
變量的作用范圍
|
timeZone
|
指定格式化日期的時區
|
<fmt:formatDate>
標簽與
<fmt:timeZone>
、
<fmt:setTimeZone>
兩組標簽的關系密切。若沒有指定
timeZone屬性,
也可以通過
<fmt:timeZone>
、
<fmt:setTimeZone>
兩組標簽設定的時區來格式化最后的結果。
9.5.11?
用于解析日期的
<fmt:parseDate>
標簽
<fmt:parseDate>
標簽用于解析一個日期,并將結果作為
java.lang.Date
類型的實例返回。
<fmt:parseDate>
標簽看起來和
<fmt:formatDate>
標簽的作用正好相反。它的屬性和描述如表
9.24
所示:
表
9.24
<fmt:parseDate>
標簽屬性和說明
屬性
|
描述
|
value
|
將被解析的字符串
|
type
|
解析格式化的類型
|
pattern
|
解析格式化模式
|
var
|
結果保存變量,類型為
java.lang.Date
|
scope
|
變量的作用范圍
|
parseLocale
|
以本地化的形式來解析字符串,該屬性的內容為
String
或
java.util.Locale
類型的實例
|
timeZone
|
指定解析格式化日期的時區
|
<fmt:parseNumber>
和
<fmt:parseDate>
兩組標簽都實現解析字符串為一個具體對象實例的工作,因此,這兩組解析標簽對
var
屬性的字符串參數要求非常嚴格。就
JSP
頁面的表示層前段來說,處理這種解析本不屬于份內之事,因此
<fmt:parseNumber>
和
<fmt:parseDate>
兩組標簽應該盡量少用,替代工作的地方應該在服務器端表示層的后段,比如在
Servlet
中。
摘要: 9.3.9?
用于包含頁面的
<c:import>
...
閱讀全文
摘要: 9.3.2?
用于賦值的
<c:set>
...
閱讀全文