2007年3月5日 星期一

LOGOUT IN JSF

一般我們在登出時會只接把SESSION清除
FacesContext fc = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) fc.getExternalContext().getSession(false);
session.invalidate();

但是在JSF其session會紀錄額外的資訊,
如果移除掉會造成JSF的component tree無法render,
對此有兩種解法:

1.移除其相關的attribute就好
session.removeAttribute

2.使用filter來管理權限問題

2007年2月16日 星期五

facelets

錯誤訊息:Invalid byte 1 of 1-byte UTF-8 sequence
起因:無法顯示中文
解法:使用編輯器將編碼改成UTF-8 or big5

錯誤訊息:well form
起因:必須符合XML格式
解法:TAG必須含有結尾Ex:<> < / p >

錯誤訊息:Duplicate component ID '_id21:annoData:_id23' found in view
起因:元件的ID重覆
解法一:
依照錯誤訊息的Component Tree找出重覆的ID元件,
將該元件的ID重新命名成別的ID
解法二:
依照本身的案子,只要把outputText改成直接輸出而不使用outputText元件

錯誤訊息:Target Unreachable, 'anno' returned null
起因:myfaces和jsf的元件衝突
解法:刪除jsf-api.jar和jsf-impl.jar

錯誤訊息:Child count should be a multiple of the columns attribute
起因:t:column內太多元件
解法:刪除多餘的元件

錯誤訊息:點選之後出現空白頁
起因:以下兩道語法icefaces不支援,myfaces可以
meta http-equiv="refresh" content="2;url=./query/dorm_annoAction.do.jsp"
jsp:forward page="./query/dorm_annoAction.do.jsp"
解法:
若使用facelets+icefaces不使用外部來redirect

錯誤訊息:form送不出去
起因:panelGrid內不能render使用jsfc包含的元件commandButton
解法:不使用jsfc採用原本的語法

2007年1月13日 星期六

[Myfaces] Tomahawk

優點:
Ajax4jsf支援
文件好一點點

缺點:
元件對AJAX支援還不多
尚未支援JSF1.2

BUG:
1.inputDate
error1:若驗證沒過,inputDate輸入新的時間server抓不到,而是抓到ㄧ開始輸入的
解:拿其他元件代替(ex.inputCalendar)

error2:二月份時,元件會多加ㄧ變三月
解:
c:if test="${sessionScope.anno_end.month == 2}"
jsp:setProperty name="anno_end" property="month"
value="${sessionScope.anno_end.month-1}"

2.inputCalendar
error:使用outputText會少一天
解:
t:inputCalendar displayValueOnly="true" renderAsPopup="true"
readonly="true" value="#{date}"
取代
h:outputText value="#{date}"

3.panelTabbedPane
缺:與其他複雜元件共用很容易出錯
解:不要和複雜元件混用

4.inputHtml
缺:對IE支援差
解:改用TinyMCE(有支援中文化) or Dojo Editor

2007年1月12日 星期五

[Myfaces] Trinidad

優點:
Ajax4jsf支援
元件相當成熟
支援JSF1.2

多數都是以alert跳出視窗提示錯誤

時間的元件有用到FOCUS

可以改變外觀

特殊元件:
media.
showManyAccordion.(影藏或顯示更詳細的資訊)
client Date Restriction Validator(在CLIENT驗證時間的範圍)
Dialog Framework Demo(跳出視窗的互動)
addRow(dataModel增加一空白欄位)
totalRow(計算dataModel的total總值)
attributeChange_Implicit(全選/全部不選)
addRemoveReorderChildrenChange_Explicit(可以增加刪除元件)

Explicit Change registration(可以增加刪除元件)

progressIndicator(動態顯示進度)


缺點:
不能和MYFACES其他元件共用
不支援OPERA
效率差

[Myfaces] Tobago

優點:
驗證可以會將錯誤的部份框起來
有支援ALERT
可以變換外觀themes
時間的元件有用到FOCUS
 
tc:popup
tx:in suggestMethod類似autocomplete
tc:validateSubmittedValueLength
tx:time 使用上下捲動的選單

tc:sheet和tc:toolBar可以改變dataScroller的外觀


缺點:
只能有一render,與其他ㄉ元件共用性可能不好
MYFACES其他ㄉ確定不能共用
Ajax4jsf不確定(似乎不行)

Problem:Tomcat logs record not nomal

ASN:使用start.bat啟動

若用tomcat.exe啟動必需加參數,否則LOGS會不正常

2007年1月11日 星期四

Tomcat 5.5 Windows service HOW-TO

ref

1.installer
Remove the service named 'Tomcat5':tomcat5 //DS//Tomcat5

2.zip
service.bat remove