教學系統二次開發筆記——基於sakai系統

10.2
在assignement中找到list.vm,並且找到日期輸出地方搜索後發現輸出的地方用的是Calendar.toString()功能,一口氣輸出日期和AMPM


在AssignmentAction.java中發現有hour-12的情況,修改之同時發現有輸出ampm內容,註釋掉了

運行結果沒有變
——————————————
下一步搜索java Calendar類中的toString怎麼輸出時間
____________________________
toString是Object類的,看看具體實現是什麼樣的
___________________________
10.4
中午:
重要的類Calendar並不是sakai的,而是JAVA.UTIL的當然,toString也應該到那裏找

10.11
增加一個commondlink控件,希望改變selectonemenu控件值
增加rendered屬性決定是否顯示,爲此authorIndex中增加定義變量
添加onclick屬性,試圖改變selectonemenu控件值
提供三種可能的鏈接方法,很想知道hidenlink的作用,爲何select會吧ID改成hidenlink的??
!!!改壞了,恢復重新來。。

10.12
添加了getchange函數
但是看不出任何變化

10.13
1.遇到最大問題,改完代碼,看不到變化!
2.將selectoneMenu binding到sele上,並通過htmlselectonemenu類型的sele修改選擇空間的選項(通過屬性itemValue)

爲何samigo模塊還原了,運行結果還是錯誤的??
對於htmlselectonemenu而言,有沒有相當於setValue之類的方法?

assignment部分:已經把ToStringLocalFull改了內容(在localtime類中的那個)
上面結果沒有變化
發現了設置select的方法,用setValue函數

晚上要吧我自己電腦上的SAKAI回覆正常。另外實現高級的24小時

10.14
1.重新更新了sakai後,清空webapps,重編譯,回覆正常
下面改了一下authorIndex的column格式
但是通過局部編譯後,竟然組件消失了。
全局編譯一次。
可以在還原操作中,局部編譯一次居然正確執行了,難道是要關TOMCAT編譯?
測試發現,真的是因爲TOMCAT開啓狀態,進行編譯,組件會工作不正常。
重新修改了column屬性,並按上面方法編譯運行,正常,妥妥的~~
2.加個commondLink組件。。
添加按鈕成功~~妥妥的~~
3.添加onclick函數,通過setValue設置值,真不知道行不行。。。(==居然可以編譯成功)
結果運行出錯,提示onclick屬性不能用於這裏的控件,只能使用onmousedown,用setValue設置不了。
爲selectonemenu設置了visible,嘗試使用selectedIndex(代碼中兩個版本一個添加option屬性)
【發現了select空間的Value真的是默認的值】
下一步設想:用bean託管,設置setValue功能,並改變默認選項驗證上面的發現
visible竟然不可用,換成rendered,
隱藏妥妥的~~~~
可是selectedIndex第一個版本還是不行
除了改成selectIndex第二個版本外,還爲selectonemenu換了初始的值依然傳值失敗。。
直接改用bean的方法,如果編譯不通過。。或不成功的話。。
運行失敗,好像是select空間與bean綁定失敗。更改了綁定格式,再試一次

創建一個inputtext控件試圖綁定bean裏的值,還是失敗了。不知道爲什麼。

還原正常,並通過.Value訪問select控件的值,來修改,同時用了一個button空間一起嘗試修改值

【還是想試試用框架修改:這次用value和bean綁定來設置初始值,並嘗試通過綁定的value改變選項】
想看能否正確的取值,最簡單的就是把取到的值傳到outputText裏面顯示出來!
爲什麼就是無法動態設置value。。。

終極設想,把select的listen響應直接連到commondLink上

上面這個設想不行:可能是不能直接用changevalue的事件激活

再次嘗試通過binding修改text的值

再次binding失敗,改用value綁定值

添加了set和get方法後,bind成功,同時能成功傳值,但是卻激活不了select控件的onchange

直接將空間binding到bean,修改setValue。同時開始研究onchange響應函數的內容:link控件點擊後希望能看出insertlinkid值是多少。。

嚴重的問題,binding到bean失敗,無法使用JSF的框架

10.15

回覆了系統後,首先創建一個text空間,然後用binding方法改變

他這裏激活actionchangelistener

如果text的值可以改變,說明可以改變其他空間的值,只是不能用setValue改變selectOnemenu的值而已

嘗試配套使用setvalue和getvalue,看看能否setvalue能否正確傳值

驚天發現,居然說我的getclick沒有定義


下面嘗試setonselect看看什麼效果

10.16
將selectListener中的代碼直接放到按鈕action中。看看能否成功設置outcome的值,然後調用onchange的響應函數,結果指針異常。NULLPOITER
如果手動設置outcome,調用onchange的響應函數時還是跳轉到模板頁面。
outcome沒有執行。。


通過link修改index或者value都可以激活action中相當於listener的工作
但是不能通過他激活hidenlink,要單獨點擊hidenlink
上面通過getelementById修改值或index好像不能激活ONchange
嘗試直接激活
直接激活,1好像會錯誤的跳到模板頁面,2,如果退回來,好像之前設置的outcome就無法執行了
這次我不讓他跳轉,爲何看起來好像都沒有激活正確的onchange


希望最後一步是看onchange的click點擊的是不是11按鈕
終於成功了!!!!!
總結下成功的技術原因:
最後得到的結論是JSF中的JSP不能激活onchange,valuechange等事件
所以需要自己調用!
用一個action替代valuechange事件才支持的setoutcome
並用jsp直接調用onchange事件觸發的處理函數,合併工作可以達到原先的效果。
進一步猜想:當我做了這下工作後,selectonmenu空間可以消失了。。。
不對!對select的改變被listener收到了!只需要單獨調用onchange處理函數


優化修改的代碼:/"..."./
修改toStringlocalFull中的內容


同時用getchange嘗試直接激活onchange中激活的onclick

嘗試修改tostringlocalfull失敗了,暴力修改了vm文件的相關部分

jsf空格的實現是通過內容爲“ “的outputtext

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章