http://www.google.com/calendar/event?ctext=+%s+&action=TEMPLATE&pprop=HowCreated%3AQUICKADD
2013年12月26日
從網址列直接快速建立 Google 日曆新活動
http://www.playpcesor.com/2013/12/google-chrome-google.html
2013年12月10日
2013年11月26日
struts2 tag裡 REPLACE的方法
<s:set var="test1">AAA</s:set>
<s:textarea name="testTEXT" rows="3" cols="50" value='%{#test1.replace("AAA","")}' "/>
另一寫法種(從bean來的)
<s:property value='member.mom.replace(\"\r\",\"<br>\").replace(\"\n\",\"<br>\").replace(\"<br><br>\",\"<br>\")' escape="false"/>
2013年11月22日
利用jquery disable或是enable
前言:
htmle裡的「disabled」和「checked」一樣 不管是=true false 都是true
所以只能靠js解決==
可以用removeAttr把disabled的這屬移移掉:
或是設為空字串:
如果是要disable
可以增加屬性:
htmle裡的「disabled」和「checked」一樣 不管是=true false 都是true
所以只能靠js解決==
可以用removeAttr把disabled的這屬移移掉:
$('.checkboxN').removeAttr('disabled');
或是設為空字串:
$('.element').attr('disabled', '');
如果是要disable
可以增加屬性:
$('.element').attr('disabled', 'disabled');
2013年11月19日
2013年11月15日
解除不能右鍵複製字
一般情況:
1.用firefox開 就能都解
2.或是用書籤方式 網址填入
javascript:(function() { function R(a){ona = "on"+a; if(window.addEventListener) window.addEventListener(a, function (e) { for(var n=e.originalTarget; n; n=n.parentNode) n[ona]=null; }, true); window[ona]=null; document[ona]=null; if(document.body) document.body[ona]=null; } R("contextmenu"); R("click"); R("mousedown"); R("mouseup"); R("selectstart");})()
大絕:
目前只適用chrome
1.裝套件「Quick Javascript Switcher」
2.裝套件「Enable Copy」
兩個同時使用!
1.用firefox開 就能都解
2.或是用書籤方式 網址填入
javascript:(function() { function R(a){ona = "on"+a; if(window.addEventListener) window.addEventListener(a, function (e) { for(var n=e.originalTarget; n; n=n.parentNode) n[ona]=null; }, true); window[ona]=null; document[ona]=null; if(document.body) document.body[ona]=null; } R("contextmenu"); R("click"); R("mousedown"); R("mouseup"); R("selectstart");})()
大絕:
目前只適用chrome
1.裝套件「Quick Javascript Switcher」
2.裝套件「Enable Copy」
兩個同時使用!
2013年11月14日
struts2 tag裡用split
<s:property value="member.anss.split(',').length"/><br/>
<s:iterator value="member.anss.split(',')" status="st" var="ans">
<s:property value="#st.index"/>-<s:property value="#ans"/><br/>
</s:iterator>
如何在 iPad, iPhone 正確同步 Google Calendar 多個行事曆
http://www.playpcesor.com/2012/06/ipad-iphone-google-calendar.html
打開iPad、iPhone的Safari瀏覽器,進入「http://m.google.com/sync/settings」。並選擇「變更語言」。
↓
切換到「English(US)」語言項目。
↓
下一個頁面後,點選中間的「Sign in with your Google Account」。
↓
輸入你的Google帳號、密碼進行登入。
↓
「My Calendars」裡,可以勾選你想同步哪些子日曆
↓
設定完成後回到iPad、iPhone桌面,點擊開啟你預設的行事曆。
打開iPad、iPhone的Safari瀏覽器,進入「http://m.google.com/sync/settings」。並選擇「變更語言」。
↓
切換到「English(US)」語言項目。
↓
下一個頁面後,點選中間的「Sign in with your Google Account」。
↓
輸入你的Google帳號、密碼進行登入。
↓
「My Calendars」裡,可以勾選你想同步哪些子日曆
↓
設定完成後回到iPad、iPhone桌面,點擊開啟你預設的行事曆。
2013年11月12日
Oracle SQL Developer UI 由中文改成英文
在sqldeveloper\sqldeveloper\bin\sqldeveloper.conf
加上
加上
AddVMOption -Duser.country=US
AddVMOption -Duser.language=en
匯入匯出 DB所有的SCHEMA
oracle dump more then one schemas
exp system/密碼@xe full=Y file=c:/xxxxx.dmp
imp system/密碼@xe full=Y file=c:/xxxxx.dmp
exp system/密碼@xe full=Y file=c:/xxxxx.dmp
imp system/密碼@xe full=Y file=c:/xxxxx.dmp
2013年11月6日
用HTML5+css 讓字閃爍
雖然本人很討厭網頁字會閃來閃去...但 ...嗯...
小時候剛寫網頁 就是烘培機很流行那時..會co很多js 然後有的就是會讓字閃不拉機
後來知道了css 然後有個屬性「text-decoration:blink; 」 可以讓字閃
but blink這招 幾乎沒browser支援了
然後js 我是完全懶的去看
然後就查到了新用法
在網頁中:
css部份:
這樣的效果太smooth....
所以可以再改成:
EZ 吧~
參考來源:http://fredericiana.com/2012/11/04/html5-blink-tag/
小時候剛寫網頁 就是烘培機很流行那時..會co很多js 然後有的就是會讓字閃不拉機
後來知道了css 然後有個屬性「text-decoration:blink; 」 可以讓字閃
but blink這招 幾乎沒browser支援了
然後js 我是完全懶的去看
然後就查到了新用法
在網頁中:
<p class="blink">這行字會閃 !!!</p>
css部份:
.blink {
animation-duration: 1s;
animation-name: blink;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-timing-function: ease-in-out;
}
@keyframes blink {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
這樣的效果太smooth....
所以可以再改成:
@keyframes blink {
0% {
opacity: 1;
}
80% {
opacity: 1;
}
81% {
opacity: 0;
}
100% {
opacity: 0;
}
}
EZ 吧~
參考來源:http://fredericiana.com/2012/11/04/html5-blink-tag/
2013年10月29日
excel裡的 IF用法
成績大於60分時為及格 否則為不及格
=IF(A1>=60,"及格","不及格")
如果A1=B1=C1 則在D1顯示1,若不相等則返回0
在D1中輸入如下函數:
=IF(AND(A1=B1,A1=C1),1,0)
A1中的數值大於0小於等於10時返回1,大於10小於100返回2,大於等於100小於200返回3,否則為空格
=IF(AND(A1>0,A1<=10),1,IF(AND(A1>10,A1<100),2,IF(AND(A1>=100,A1<200),3,"" )))
http://rritw.com/a/caozuoxitong/OS/20100927/39185.html
=IF(A1>=60,"及格","不及格")
如果A1=B1=C1 則在D1顯示1,若不相等則返回0
在D1中輸入如下函數:
=IF(AND(A1=B1,A1=C1),1,0)
A1中的數值大於0小於等於10時返回1,大於10小於100返回2,大於等於100小於200返回3,否則為空格
=IF(AND(A1>0,A1<=10),1,IF(AND(A1>10,A1<100),2,IF(AND(A1>=100,A1<200),3,"" )))
http://rritw.com/a/caozuoxitong/OS/20100927/39185.html
2013年10月28日
jQuery 的 toggle
上次寫過 「jquery radio 顯示或隱藏一段顯示文字」
但如果是按同一個button 或是同一個div或同一個span 也可以有顯示/隱藏效果
(雖然用jsp也能解決...但麻煩很多)
現在可以利用toggle解決
jQuery 寫法:
但如果是按同一個button 或是同一個div或同一個span 也可以有顯示/隱藏效果
(雖然用jsp也能解決...但麻煩很多)
現在可以利用toggle解決
jQuery 寫法:
$(document).ready(function(){
$('#iswitch').toggle(
function(){
$('#contentView').show();
},
function(){
$('#contentView').hide();
}
);
});
2013年10月25日
利用jquery submit form
如果有一個form
利用jquery去submit的話 一般只要這樣寫:
但如果是要指定別的action (insertVIP):
如果method後面有要帶參數也可以:
<s:form action="Member/insert" theme="simple" >
.
.
.
</s:form>
利用jquery去submit的話 一般只要這樣寫:
$( "#Member_insert" ).submit();
但如果是要指定別的action (insertVIP):
$( "#Member_insert" ).attr("action", "insertVIP.do").submit();
如果method後面有要帶參數也可以:
$( "#Member_insert" ).attr("action", "insertVIP.do?dept=A1&code=XYZ").submit();
2013年10月17日
[Tomcat] PermGen space netbeans Could not reserve enough space for object heap
本來只有
-Xmx1024m -Xms512m
現在多加了
-XX:MaxPermSize=256m
-Xmx1024m -Xms512m
現在多加了
-XX:MaxPermSize=256m
HTML5 的新屬性:Placeholder
網頁表單的文字方塊 有時會有看到預設的說明文字 像這樣:
輸入時 字會自動消失
以前的方式是要用js
語法差不多會是
<input name="user_name" type="text" size="28" id="user_name" value="Email" onfocus="if(this.value==' Email'){this.value='';}" onblur="if(this.value==''){ this.value='Email';}">
2013年10月3日
PIVOT: 讓row轉column
前提:oracle11g後才能用
統計個類別數量時 一般查詢方法:
結果如下
但如果我想要是表格轉置 以前只能用各種複雜方法
oracle11g後 就有PIVOT 這好用東西
統計個類別數量時 一般查詢方法:
select categoryNo,count(*)c from event group by categoryNo
結果如下
categoryNo
|
c
|
1
|
1979
|
2
|
105
|
3
|
46
|
4
|
9
|
5
|
30
|
6
|
86
|
7
|
484
|
8
|
4149
|
但如果我想要是表格轉置 以前只能用各種複雜方法
oracle11g後 就有PIVOT 這好用東西
with p as( select categoryNo,count(*)c from event group by categoryNo)
select * from p PIVOT (
sum(c)
FOR categoryNo
in (1,2,3,4,5,6,7,8));
結果就會像下面這樣
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
1979
|
105
|
46
|
9
|
30
|
86
|
484
|
4149
|
消息來自dia
GRANT SEQUENCE的權限給 另一個user(schema)
網路上找到的都是像下面這種寫法
GRANT SELECT ON schema1.xxx_seq TO schema2
但但但 如果這樣子 看似可以
但在schema2下面 只能用 SELECT schema1.xxx_seq .NEXTVAL FROM DUAL
我的終極目標是要能:SELECT xxx_seq .NEXTVAL FROM DUAL
怎麼辦怎麼辦~~~
終於找到上次的設定(糾竟我上次是怎麼找到解法的==)
CREATE OR REPLACE SYNONYM "schema2"."xxx_seq " FOR " schema1"."xxx_seq ";
2013年10月2日
2013年9月23日
[jQuery] Colorbox
可以有燈箱效果 或是用來網站的廣告覆蓋整個頁面等等等
網站:http://www.jacklmoore.com/colorbox/
目前只是用來做網頁覆蓋
在網頁中加上
網站:http://www.jacklmoore.com/colorbox/
目前只是用來做網頁覆蓋
在網頁中加上
$.colorbox({href:"memo.html"});
就能在原本網頁上 蓋上memo的網頁內容
不只這麼陽春 還可以再加入一些參數 變得更客製化
例如:
$.colorbox({href:"${includePage}", height:"90%",width:"50%",opacity:0.7,closeButton:true })
${includePage} ←←是由下面set好
<s:set name="includePage" > http://i-memo.blogspot.tw </s:set>
opacity←←底的透明度
closeButton:true ←←要不要closeButton
如果想要在網頁一load時就能有效果:<script type="text/javascript"> $(document).ready(function(){ setTimeout(function() { $.colorbox({href:"${includePage}", height:"90%",width:"50%",opacity:0.7,closeButton:true }); }); }); </script>
如果不想讓使用者關掉:<script type="text/javascript"> $(document).ready(function(){ setTimeout(function() { $.colorbox({href:"${includePage}", height:"90%",width:"50%",opacity:0.7 , escKey:false, overlayClose:false,onLoad: function() { $('#cboxClose').remove(); }}); }); }); </script>
其他網頁上有更詳細的介紹
2013年9月18日
< s:property value 也可以有substring
<s:property value='memo.memono.substring(5,8)'/>
注意要用單引號(')
以此類推也可以用在 <s:select 的default value
<s:select name="noticeType" list="# {'aaa':'第a種', 'bbb':'第b種', 'ccc':'第c種', 'ddd':'第d種'}" value='memo.memono.substring(5,8)'/>
2013年9月14日
[JAVA] regular expressions 相關
線上驗證工具:http://www.regexplanet.com/advanced/java/index.html
Java Regular Expression的學習筆記:http://www.javaworld.com.tw/jute/post/view?bid=20&id=130126
看懂和寫對有點落差= =
反正先筆記用到的
//是否含'"!$%^&*_|></\\\
public static boolean isContainSymbols(String s) {
Pattern p= Pattern.compile("[^'\"!$%^&*_|></\\\\]+");
Matcher matcher = p.matcher(s);
return !matcher.matches();
}
//是否為數字
public static boolean isDigital(String s) {
Pattern p= Pattern.compile("^[0-9]+$");
Matcher matcher = p.matcher(s);
return matcher.matches();
}
順更記一個和正規表示式無關
//是否byte超過設定長度
public static boolean isOverMaxlenght(String s) {
if (s.getBytes().length > Integer.parseInt(Property.getString("maxbyte"))) {
return true;
} else {
return false;
}
}
2013年9月13日
< s:hidden
一般的複雜寫法(值是request來):
如果還要是時間格式...
<s:hidden name="person.name" value="%{#request['personName']}" />
如果還要是時間格式...
<input type="hidden" value="<s:date name="%{#request['personBD']}" format="%{format.datetime}" />" name="person.bd"/>
oracle trigger update after insert SAME ROW
(標題 是多次google 用到的關鍵字組之一 == )
情境:新增一筆 record 或 修改record裡的某欄位 觸發triger 去update 這筆資料的edit_date欄位
我搞不懂before和after....
本來覺得要寫after 但怎麼run怎麼不對
其中還改到有一次版本是 所有資料 都同時被我update了......
最後再某篇範例發現 有人寫BEFORE so.......
情境:新增一筆 record 或 修改record裡的某欄位 觸發triger 去update 這筆資料的edit_date欄位
CREATE OR REPLACE
TRIGGER ooo_TRIGGER
BEFORE INSERT OR UPDATE OF PASSWORD ON ooo
FOR EACH ROW
BEGIN
:NEW.edit_date:=sysdate ;
END;
我搞不懂before和after....
本來覺得要寫after 但怎麼run怎麼不對
其中還改到有一次版本是 所有資料 都同時被我update了......
最後再某篇範例發現 有人寫BEFORE so.......
2013年9月9日
[日文] 不吃的東西 (2013 09.09更新)
セロリ→芹菜
ピーマン→青椒
にがうり →苦瓜
ゴーヤ →沖繩苦瓜
ニッキ /肉桂 (にっけい)/シナモン
パクチー/香菜(こうさい/シャンツァイ):(泰文/日文/中文)
ピーマン→青椒
にがうり →苦瓜
ゴーヤ →沖繩苦瓜
ニッキ /肉桂 (にっけい)/シナモン
パクチー/香菜(こうさい/シャンツァイ):(泰文/日文/中文)
2013年9月5日
ORACLE VACHAR2 字數上限
VARCHAR2データベース列の最大幅は4000バイト。
40000 byte 所以是可以 2000個中文字???
no!!!
一千多而已
∵ 一個UTF-8的中文字用掉3 bytes
∴4000/3=1333.33333333333333333333333333
40000 byte 所以是可以 2000個中文字???
no!!!
一千多而已
∵ 一個UTF-8的中文字用掉3 bytes
∴4000/3=1333.33333333333333333333333333
2013年8月29日
最新回應的widget
<script style=text/javascript src="http://helplogger.googlecode.com/svn/trunk/recent comments widget.js"></script><script style=text/javascript >var a_rc=5;var m_rc=false;var n_rc=true;var o_rc=100;</script><script src=http://your-blog-name.blogspot.com/feeds/comments/default?alt=json-in-script&callback=showrecentcomments ></script><span id=rcw-cr><a href=http://helplogger.blogspot.com/2012/03/recent-comments-widget-for-blogger.html>Recent Comments Widget</a></span><style type=text/css> .rcw-comments a {text-transform: capitalize;} .rcw-comments {border-bottom: 1px dotted; padding-top: 7px!important; padding-bottom: 7px!important;} #rcw-cr {font-family: Arial,Tahoma;font-size:9px;padding-top:7px;display:block;} </style>
資料來源:http://helplogger.blogspot.tw/2012/03/recent-comments-widget-for-blogger.html
oracle 設user 要有dblink的權限
11g 管理界面也太難qq
只好找語法.....
一樣要先以sydba身份連線
然後
只好找語法.....
一樣要先以sydba身份連線
然後
grant create database link to <使用者名稱>;
2013年8月28日
不用圖片 靠CSS也能背景漸層!
background: -ms-linear-gradient(top, #FFF 0%,#81D8D0 100%); /* IE10+ */
background: -webkit-linear-gradient(top, #FFF 0%,#81D8D0 100%); /* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient(top, #FFF 0%, #81D8D0 100%); /* FF3.6+ */
CSS原生table屬性垂直置中
CSS:
HTML:
.table-wrap {display:table; width:300px; height:300px; border:solid 1px #ccc; }
.table-cell {display:table-cell; vertical-align:middle; text-align:center;}
HTML:
<div class="table-wrap">
<div class="table-cell">
<div class="content">
內容置中
</div>
</div>
</div>
資料來源:http://www.minwt.com/css/6694.html
2013年8月22日
Subversion server 建立新需要版本控管的專案
如果svn server已經裝好了 然後有一個專案叫ooo
stpe1 建立目錄
svnadmin create D:\Repositories\ooo
step2 建帳號密碼
到 D:\Repositories\ooo\conf裡 修改「passwd」
預設檔案裡會有:
[users]
# harry = harryssecret
# sally = sallyssecret
harry就是帳號 harryssecret是密碼 #是註解
step3 修改讀寫權限
到 D:\Repositories\ooo\conf裡 修改「svnserve.oconf」
貼上↓↓
[general]
anon-access = none
auth-access = write
password-db = passwd
完成 !
如果不行 就再啟動svn
【svn目錄】 -d -r d:\Projects --listen-port 9000
PS client 部份
如果裝好了TortoiseSVN
stpe1 右鍵→checkout
stpe2 右鍵→commit
(如果 一直授權失敗 可能是上面的第三步有問題)
2013年8月16日
jQuery教學-浮動式固定上選單
http://www.minwt.com/js/8891.html
範例 :http://img.minwt.com/file/sampleView/jQuery/top-menu/top-menu-minwt.html
#top-bar{ width:100%; height:50px; background:#32b3bf; position:fixed; top:-65px; /* CSS3 陰影*/ -webkit-box-shadow: 0px 8px 15px #333; -moz-box-shadow: 0px 8px 15px #333; box-shadow: 0px 8px 15px #333; }
範例 :http://img.minwt.com/file/sampleView/jQuery/top-menu/top-menu-minwt.html
#top-bar{ width:100%; height:50px; background:#32b3bf; position:fixed; top:-65px; /* CSS3 陰影*/ -webkit-box-shadow: 0px 8px 15px #333; -moz-box-shadow: 0px 8px 15px #333; box-shadow: 0px 8px 15px #333; }
2013年8月14日
ORA-02298: cannot validate (ooxx.zzz_FK) - parent keys not found
表示子資料表裡對應到父資料表的欄位裡 有找不到對應的值
ex 父資料表存 部門相關資料 子資料表是員工資料
但員工資料表裡的部門欄位id 有著已經不存在的id
解法:把子table中不存在父table的資料刪除
解法2(如果只是為了用工具畫關系圖):這個外來鍵不要enable....
ex 父資料表存 部門相關資料 子資料表是員工資料
但員工資料表裡的部門欄位id 有著已經不存在的id
解法:把子table中不存在父table的資料刪除
解法2(如果只是為了用工具畫關系圖):這個外來鍵不要enable....
Foreign Key(外來鍵) 完整性限制
oracle 設定fk時 on delete的選項有三種
CASCADE (連帶)- 會將有所關聯的紀錄行也會進行刪除或修改。
SET NULL - 會將有所關聯的紀錄行設定成 NULL。
RESTRICT (限制) - 若欲刪除之資料有被參考到,則不允許刪除
2013年8月9日
[日文] 出國用 (2013 02.28更新)
荷物 を 預かって もらえますか?
nimotsu wo azukatte moraemasuka?
→ 行李可以寄放在這裡嗎?
往復切符(おうふくきっぶ)
片道切符(かたみちきっぶ)←單程票
払い戻し →退費
改札口(かいさつぐち)
乗り換え 轉車
路線図 (ろせんず)
小包(こづつみ) 包裹
ドラッグストア →藥妝店
nimotsu wo azukatte moraemasuka?
→ 行李可以寄放在這裡嗎?
往復切符(おうふくきっぶ)
片道切符(かたみちきっぶ)←單程票
払い戻し →退費
改札口(かいさつぐち)
乗り換え 轉車
路線図 (ろせんず)
小包(こづつみ) 包裹
ドラッグストア →藥妝店
jquery radio 顯示或隱藏一段顯示文字
<script type="text/javascript">
$(document).ready(function(){
$('#d1').hide();
$("input[name='r1']").click(function(){
var item = $('input[name=r1]:checked').val();
if(item==1)
$('#d1').show();
else
$('#d1').hide();
});
});
</script>
<input type=radio name="r1" value="1">Show
<input type=radio name="r1" value="2">Hide
<div id="d1">
HIHIHIHI
</div>
資料來源:http://blog.bestdaylong.com/2013/07/jquery-radio.html
2013年7月29日
>>> FilterDispatcher <<< is deprecated! Please use the new filters
最近struts2發生了問題 照官方解法換了jar檔們
但換完後跑出下面訊息
***********************************************************************
* WARNING!!! *
* *
* >>> FilterDispatcher <<< is deprecated! Please use the new filters! *
* *
* This can be a source of unpredictable problems! *
* *
* Please refer to the docs for more details! *
* http://struts.apache.org/2.x/docs/webxml.html *
* *
***********************************************************************
原來是有一個filter 繼承了FilterDispatcher
google到解法是換成 繼成 StrutsPrepareAndExecuteFilter 即可
但目前換完後 還沒測試出是否有影響原功能(照理來說應該是不會....)
ORA-01722 invalid number
select * from aaa where aaa.id=3 ←如果id 是vchar的話 在oracle11g就會發生錯誤
所以要記得乖乖用下面方法
select * from aaa where aaa.id='3'
2013年7月26日
[JAVA] 在Filter導入錯誤頁
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author i-memo
*/
public class ImemoFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
//init
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
if (如果ooxx) {
HttpServletRequest hrequest = (HttpServletRequest) request;
HttpServletResponse hresponse = (HttpServletResponse) response;
hresponse.sendRedirect(hrequest.getContextPath() + "/error.jsp");
return;
}
chain.doFilter(request, response);
}
public void destroy() {
}
}
2013年7月25日
2013年7月9日
如何用 JavaScript 取Radio選的值
function whichOne(){
var confirm="";
var confirms = document.getElementsByName('record.confirm');
for(i=0;i<confirms.length;i++)
{
if(confirms[i].checked)
confirm=confirms[i].value;
}
if(confirm=='是'){
//dosomething for 是
}else if(confirm=='否'){
//dosomething for 否
}
}
< s:if 如果要判斷單一中文字
平常寫 <s:if 的 test 會很直覺得寫
但 如果要判斷的是單字的中文字.....
他不會有反應==
要寫:
有看出差別嗎
一個是 「"''"」 一個是「'""'」
前著是雙引號包單引號 後面是 單引號包雙引號
每次都會忘記 然後又會花很久的時間才想起....希望這次可以記得久一點
<s:if test="record.id==1">ID是一!!!</s:if>
但 如果要判斷的是單字的中文字.....
<s:if test="record.confirm=='是'">ID確定!!</s:if>
他不會有反應==
要寫:
<s:if test='record.confirm=="是"'>ID確定!!</s:if>
有看出差別嗎
一個是 「"''"」 一個是「'""'」
前著是雙引號包單引號 後面是 單引號包雙引號
每次都會忘記 然後又會花很久的時間才想起....希望這次可以記得久一點
2013年7月5日
2013年6月26日
< s:iterator
如果要跑回圈的資料來源是一個list包著map
需要多一層<s:iterator
範例:
需要多一層<s:iterator
範例:
<s:iterator value="#request['immaplist']" status="stat">
<s:iterator>
<s:property value="#stat.index"/>
<s:property value="key"/>
<s:property value="value"/>
</s:iterator>
</s:iterator>
2013年6月20日
< s:fielderror 五四三
標準寫法(我最常用的):
cssClass="error-message" ←←自己設的css
忘了為了什麼目的的寫法:
無效寫法:
判斷是不是有fielderror:
<s:fielderror theme="myThem" cssClass="error-message" fieldName="email" />
cssClass="error-message" ←←自己設的css
忘了為了什麼目的的寫法:
<s:fielderror cssClass="error-message"><s:param>email</s:param> </s:fielderror>
無效寫法:
<s:fielderror value="startYear.val" />
判斷是不是有fielderror:
<s:if test="hasFieldErrors()"> 有錯誤訊息!!</s:if>
2013年6月7日
查詢各表 總筆數(總列數) 使用量(大小)
SELECT USER_TABLES.TABLE_NAME ,num_rows 列數 ,
SUM(BYTES) / (1024 * 1024) AS "size(M)"
FROM USER_TABLES,
USER_SEGMENTS WHERE USER_SEGMENTS.SEGMENT_NAME = USER_TABLES.TABLE_NAME
GROUP BY USER_TABLES.TABLE_NAME,num_rows
ORDER BY "size(M)" DESC
SQL Developer 不能enter 不能ctrl c v
Tools→Preferences→Accelerators→Load Preset button
資料來源:https://forums.oracle.com/forums/thread.jspa?threadID=692894
Select Tools, Preferences, Accelerators and hit the Load Preset button. This rests them to default. It's less drastic than deleting the system folder.
oracle的亂數
select substr(to_char(dbms_random.value),5,5)rnd from xx --只有數字
SELECT ABS(dbms_random.normal) from xx --只有數字
SELECT (1+ABS(MOD(dbms_random.random,100000))) from xx --只有數字
dbms_random.string(opt IN CHAR, len IN NUMBER) --RETURN VARCHAR2;
opt seed values:
'a','A' alpha characters only (mixed case) ←只有字母
'l','L' lower case alpha characters only
'p','P' any printable characters ←有符號
'u','U' upper case alpha characters only
'x','X' any alpha-numeric characters (upper) ←字母和數字
SELECT dbms_random.string('A', 5) RNDMSTR from xx --只有字母
SELECT dbms_random.value(2, 5)RNDMSTR from xx --亂數區間2~5
2013年6月5日
ORA-12528
資料來源:http://blog.sina.com.cn/s/blog_636415010100x3lc.html
ORA-12528: TNS:listener: all appropriate instances are blocking new connections
ORA-12528問題是因為監聽中的服務使用了動態服務,實例雖然啟動,但沒有註冊到監聽。實例是通過PMON進程註冊到監聽上的,而PMON進程需要在MOUNT狀態下才會啟動。所以造成了上面的錯誤。
解決這個問題,有三種方法:1、把監聽設置為靜態,2、在tnsnames.ora中追加(UR=A),3、重新啟動服務。
一、通過修改listener.ora的參數,把動態的參數設置為靜態的參數,然後從新啟動監聽# listener.ora Network Configuration File: $ORACLE_HOME\network\admin\listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = [IP])(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = [DBNAME])
(ORACLE_HOME = [$ORACLE_HOME])
(SID_NAME = [SID])
)
) 靜態註冊的風險:如果在instance運行中,lisener重新啟動,就找不到instance了。靜態註冊需要先啟動lisener,再啟動instance。且靜態模式下,lisener status顯示的是unknown
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = [IP])(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = [DBNAME])
(ORACLE_HOME = [$ORACLE_HOME])
(SID_NAME = [SID])
)
) 靜態註冊的風險:如果在instance運行中,lisener重新啟動,就找不到instance了。靜態註冊需要先啟動lisener,再啟動instance。且靜態模式下,lisener status顯示的是unknown
二、啟動到nomount狀態,通過修改tnsnames.ora的參數# tnsnames.ora Network Configuration File: $ORACLE_HOME\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
SYK =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = [IP])(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SYK)
(UR=A) )
)
然後連接上數據庫
SQL>alter database mount;
SQL>alter database open;
# Generated by Oracle configuration tools.
SYK =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = [IP])(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SYK)
(UR=A) )
)
然後連接上數據庫
SQL>alter database mount;
SQL>alter database open;
三、重啟ORACLE或者重啟ORACLE服務
匯入/匯出資料庫
匯入資料庫
匯出資料庫
(sid xe)
↓↓忘了是什麼用法= =
imp username/password@sid
匯出資料庫
EXP username/password@sid file=c:\DB\OOO\ZZZ.DMP log=c:\DB\OOO\ZZZ.log
(sid xe)
exp 不要匯出資料 rows=no
↓↓忘了是什麼用法= =
exp username/password@sid FILE=/prod2/dbwork/expdata/EXP_A6417K01_H1.dmp tables=A6417K01
QUERY=\"where SYSDAT \< \'20090930235959\' and K1DEAL \<> \'1\'\"
log=/prod2/dbwork/expdata/EXP_A6417K01_S1.log ROWS=y GRANTS=y
ORACLE:ORA-01940 無法刪除使用者
解決辦法:
1.找出卡在線上的 SESSION ,請用有管理權限之帳號(我是用SYSTEM 做的 , 對 ORACLE DB 有點小小不熟,對權限控管的定義還不是很清楚) ,在可操作 ORACLE 的工具上\執行以下t T-SQL
select username,sid,serial# from v$session where username='USER_NAME';
2.可查出如以下列表資料
USERNAME
|
SID
|
SERIAL#
|
USER_NAME
|
37
|
41363
|
USER_NAME
|
47
|
25604
|
USER_NAME
|
158
|
14321
|
3.把 SESSION 踢掉 , 請用以下 T-SQL (SID=37 ,SERIAL=41363), 全部 踢完就可以去刪資料庫了
alter system kill session'37,41363';
資料來源:
http://www.google.com/url?q=http%3A%2F%2Fjason0324.pixnet.net%2Fblog%2Fpost%2F37310500&sa=D&sntz=1&usg=AFQjCNGGYJgZoiQ7KWKq38IcdiFp46r3-w
oracle要刪session
select t2.username,t2.sid,t2.serial#,t2.logon_time
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time
select sql_text from v$session a,v$sqltext_with_newlines b
where DECODE(a.sql_hash_value, 0, prev_hash_value, sql_hash_value)=b.hash_value
and a.sid ='245' order by piece
alter system kill session '235,714'
Oracle密碼忘記怎麼辦
以下都是查到的方法
有兩種方法
一、ALTER USER (USERNAME) IDENTIFIED BY 「密碼」
二、CREATE USER (USERNAME) IDENTIFIED BY "密碼";。
1.在 CMD下
SQLPLUS /NOLOG
2.
CONN /AS SYSDBA
ALTER USER (USERNAME) IDENTIFIED BY 「密碼」;
( 可以改變USERNAME的密碼)
另一種是:
CREATE USER (USERNAME) IDENTIFIED BY "密碼";
PS 改變用戶權限的命令是:
GRANT ROLES TO (USERNAME);
有兩種方法
一、ALTER USER (USERNAME) IDENTIFIED BY 「密碼」
二、CREATE USER (USERNAME) IDENTIFIED BY "密碼";。
1.在 CMD下
SQLPLUS /NOLOG
2.
CONN /AS SYSDBA
ALTER USER (USERNAME) IDENTIFIED BY 「密碼」;
( 可以改變USERNAME的密碼)
另一種是:
CREATE USER (USERNAME) IDENTIFIED BY "密碼";
PS 改變用戶權限的命令是:
GRANT ROLES TO (USERNAME);
ORACLE的保留字
ACCESS DECIMAL INITIAL ON START
ADD NOT INSERT ONLINE SUCCESSFUL
ALL DEFAULT INTEGER OPTION SYNONYM
ALTER DELETE INTERSECT OR SYSDATE
AND DESC INTO ORDER TABLE
ANY DISTINCT IS PCTFREE THEN
AS DROP LEVEL PRIOR TO
ASC ELSE LIKE PRIVILEGES TRIGGER
AUDIT EXCLUSIVE LOCK PUBLIC UID
BETWEEN EXISTS LONG RAW UNION
BY FILE MAXEXTENTS RENAME UNIQUE
FROM FLOAT MINUS RESOURCE UPDATE
CHAR FOR MLSLABEL REVOKE USER
CHECK SHARE MODE ROW VALIDATE
CLUSTER GRANT MODIFY ROWID VALUES
COLUMN GROUP NOAUDIT ROWNUM VARCHAR
COMMENT HAVING NOCOMPRESS ROWS VARCHAR2
COMPRESS IDENTIFIED NOWAIT SELECT VIEW
CONNECT IMMEDIATE NULL SESSION WHENEVER
CREATE IN NUMBER SET WHERE
CURRENT INCREMENT OF SIZE WITH
DATE INDEX OFFLINE SMALLINT
CHAR VARHCAR VARCHAR2 NUMBER DATE LONG
CLOB BLOB BFILE
INTEGER DECIMAL
SUM COUNT GROUPING AVERAGE
TYPE
無條件進位/ 無條件捨去/四捨五入
CEIL(n) 無條件進位的整數
FLOOR(n) 無條件捨去的整數
ROUND (m[,n]) m四捨五入,取到小數點第n位[n default=0]
SELECT ceil(3.12) FROM DUAL;
執行結果:4FLOOR(n) 無條件捨去的整數
SELECT floor(3.6) FROM DUAL;
執行結果:3ROUND (m[,n]) m四捨五入,取到小數點第n位[n default=0]
SELECT round(3.16,1) FROM DUAL;
執行結果:3.2
手動insert資料需要sequence
INSERT INTO MarsTest (ID_, Content)
VALUES (Seq_MarsTest.NEXTVAL, 'MarsTest');
這也表示說Sequence 不只是提供給特定 Table 使用,也能給其他任一個 Table 共用。
顯示 < 10 > 5資料
SELECT * FROM (SELECT ROWNUMAS rn, FORT.* FROM FORT WHERE <10 ORDER BY ID) WHERE rn > 5 ORDER BY ID
--顯示 ID 11 12 13 15資料
ORACLE 中ROWNUM用法總結!(精華)
bbs.linuxpk.com/thread-10595-1-1.html
ROWNUM 是一個序列,是oracle數據庫從數據文件或緩衝區中讀取數據的順序。它取得第一條記錄則rownum值為1,第二條為2,依次類推。如果 你用>,>=,=,between...and這些條件,因為從緩衝區或數據文件中得到的第一條記錄的rownum為1,則被刪除,接著取下 條,可是它的rownum還是1,又被刪除,依次類推,便沒有了數據。
有了以上從不同方面建立起來的對 rownum 的概念,那我們可以來認識使用 rownum 的幾種現像
1. select rownum,c1 from t1 where rownum != 10 為何是返回前9條數據呢?它與 select rownum,c1 from tablename where rownum < 10 返回的結果集是一樣的呢?
因 為是在查詢到結果集後,顯示完第 9 條記錄後,之後的記錄也都是 != 10,或者 >=10,所以只顯示前面9條記錄。也可以這樣理解,rownum 為9後的記錄的 rownum為10,因條件為 !=10,所以去掉,其後記錄補上,rownum又是10,也去掉,如果下去也就只會顯示前面9條記錄了
2. 為什麼 rownum >1 時查不到一條記錄,而 rownum >0 或 rownum >=1 卻總顯示所以的記錄
因為 rownum 是在查詢到的結果集後加上去的,它總是從1開始
3. 為什麼 between 1 and 10 或者 between 0 and 10 能查到結果,而用 between 2 and 10 卻得不到結果
原因同上一樣,因為 rownum 總是從 1 開始
從上可以看出,任何時候想把 rownum = 1 這條記錄拋棄是不對的,它在結果集中是不可或缺的,少了rownum=1 就像空中樓閣一般不能存在,所以你的 rownum 條件要包含到 1
但如果就是想要用 rownum > 10 這種條件的話話就要用嵌套語句,把 rownum 先生成,然後對他進行查詢。
select *
from (selet rownum as rn,t1.* from a where ...)
where rn >10
SQL>select * from(select rownum no ,id,name from student) where no>2;
NO ID NAME---------- ------ ---------------------------------------------------
3 200003 李三
4 200004 趙四
DECODE
DECODE(欄位,xx,oo,**)
如果欄位=xx 會變oo預設欄位=**
DECODE(cen.Rate,null,'0',cen.Rate)
decode(條件,值1,翻譯值1,值2,翻譯值2,...值n,翻譯值n,缺省值)
該函數的含義如下:
IF 條件=值1 THEN
RETURN(翻譯值1)
ELSIF 條件=值2 THEN
RETURN(翻譯值2)
......
ELSIF 條件=值n THEN
RETURN(翻譯值n)
ELSE
RETURN(缺省值)
END IF
· 使用方法:
1、比較大小
select decode(sign(變量1-變量2),-1,變量1,變量2) from dual; --取較小值
sign()函數根據某個值是0、正數還是負數,分別返回0、1、-1例如:
變量1=10,變量2=20
則sign(變量1-變量2)返回-1,decode解碼結果為「變量1」,達到了取較小值的目的。
2、表、視圖結構轉化
現有一個商品銷售表sale,表結構為:
month char(6) --月份
sell number(10,2) --月銷售金額
現有數據為:
200001 1000
200002 1100
200003 1200
200004 1300
200005 1400
200006 1500
200007 1600
200101 1100
200202 1200
200301 1300
想要轉化為以下結構的數據:
year char(4) --年份
month1 number(10,2) --1月銷售金額
month2 number(10,2) --2月銷售金額
month3 number(10,2) --3月銷售金額
month4 number(10,2) --4月銷售金額
month5 number(10,2) --5月銷售金額
month6 number(10,2) --6月銷售金額
month7 number(10,2) --7月銷售金額
month8 number(10,2) --8月銷售金額
month9 number(10,2) --9月銷售金額
month10 number(10,2) --10月銷售金額
month11 number(10,2) --11月銷售金額
month12 number(10,2) --12月銷售金額
結構轉化的SQL語句為:
create or replace view
v_sale(year,month1,month2,month3,month4,month5,month6,month7,month8,month9,month10,month11,month12)
as
select
substrb(month,1,4),
sum(decode(substrb(month,5,2),'01',sell,0)),
sum(decode(substrb(month,5,2),'02',sell,0)),
sum(decode(substrb(month,5,2),'03',sell,0)),
sum(decode(substrb(month,5,2),'04',sell,0)),
如何用SQL insert 語句插入一「日期/時間」的值
insert into tablename (datetime) values (to_date('2001-12-05','YYYY-MM-DD'));
NVL :轉換 Null 值函數
NVL(expr1, expr2) 拿expr1來判斷,是null就用expr2取代
NVL2(expr1, expr2, expr3) 拿expr1判斷,不是null填expr2,是null填expr3
NULLIF(expr1, expr2) 如果expr1=expr2就塞null,不相等就填expr1
COALESCE (expr1, expr2,…,exprn) 從expr1開始找,不是null就回傳
NVL2(expr1, expr2, expr3) 拿expr1判斷,不是null填expr2,是null填expr3
NULLIF(expr1, expr2) 如果expr1=expr2就塞null,不相等就填expr1
COALESCE (expr1, expr2,…,exprn) 從expr1開始找,不是null就回傳
用javascript驗證
<!--用javascript驗證 >
<s:if test="hasFieldErrors()">
<script language="JavaScript">
var msg = 'xxxxx';
alert(msg);
</script>
</s:if>
<用javascript驗證 -->
<s:if test="hasFieldErrors()">
<script language="JavaScript">
var msg = 'xxxxx';
alert(msg);
</script>
</s:if>
<用javascript驗證 -->
< s:fielderror
直覺上可能會寫成:
<s:fielderror value="startYear.val" />
但這樣是無效的
有效寫法是:
<s:fielderror cssClass="error-message"><s:param>startYear</s:param> </s:fielderror>
<s:fielderror value="startYear.val" />
但這樣是無效的
有效寫法是:
<s:fielderror cssClass="error-message"><s:param>startYear</s:param> </s:fielderror>
@InputConfig
@InputConfig(methodName="inputMethod", resultName="someInputResultName") methodName
resultName 可分開用
methodName:指定要去run哪一個method
resultName:對應struts裡的result
同時都有 會以methodName為主
methodName:指定要去run哪一個method
resultName:對應struts裡的result
同時都有 會以methodName為主
2013年5月23日
group_concat (mysql) 的oracle用法
group 變成一列....用逗號分隔 直的變橫的
例如
例如
Base Data:
DEPTNO ENAME
---------- ----------
20 SMITH
30 ALLEN
30 WARD
20 JONES
30 MARTIN
30 BLAKE
10 CLARK
20 SCOTT
10 KING
30 TURNER
20 ADAMS
30 JAMES
20 FORD
10 MILLER
Desired Output:
DEPTNO EMPLOYEES
---------- --------------------------------------------------
10 CLARK,KING,MILLER 20 SMITH,FORD,ADAMS,SCOTT,JONES
30 ALLEN,BLAKE,MARTIN,TURNER,JAMES,WARD
2013年5月19日
幸福的顏色? #81D8D0
某次看到有篇文章介紹到幸福的顏色
但套用他色碼感覺就不對....
沒想到 原來wiki就寫的很明確
Tiffany Blue:
Hex triplet #81D8D0
sRGBB (r, g, b) (129, 216, 208)
HSV (h, s, v) (174°, 40%, 85%)
但套用他色碼感覺就不對....
沒想到 原來wiki就寫的很明確
Tiffany Blue:
Hex triplet #81D8D0
sRGBB (r, g, b) (129, 216, 208)
HSV (h, s, v) (174°, 40%, 85%)
2013年5月18日
CSS的換行
方法1:
white-space:normal; width:200px;
但可能無效...
方法2:
white-space:normal;
overflow:hidden;
word-wrap: break-word; /*word-wrap 只有fx不支援*/
強制不換行:
div{
white-space:nowrap;
自動換行:
div{ word-wrap: break-word; word-break: normal; }
強制英文單詞斷行:
div{ word-break:break-all; }
參考資料:http://www.wowbox.com.tw/blog/article.asp?id=2247
2013年5月17日
[JAVA] URL上不要有JSESSIONID
有設定過 不會顯示了
但 如果把BROWSER的COOKIE功能關掉 就會跑出來了 (因為OOXX我懶得寫的原因)
註:如果套用以下內容 可能會有功能遺失 EX需登入的功能之類
但 如果把BROWSER的COOKIE功能關掉 就會跑出來了 (因為OOXX我懶得寫的原因)
註:如果套用以下內容 可能會有功能遺失 EX需登入的功能之類