2010년 10월 28일 목요일

유닉스/리눅스 파일 안에서 특정 문자(열) 찾기

유닉스/리눅스 파일 안에서 특정 문자(열) 찾기

 

find . -type f -exec grep -l "mem_info_list start" {} \; -print

2010년 9월 17일 금요일

[Javascript] 파일 upload 전 확장자 / 이미지 크기 체크


  <input type="file" name="fileName" onChange="uploadImg_Change( this, 480,320 )" alt="480*320" >



function fileClear(obj){
obj.select();
document.selection.clear();
obj.blur();
}
function getFileExtension( filePath )
{
    var lastIndex = -1;
    lastIndex = filePath.lastIndexOf('.');
    var extension = "";

if ( lastIndex != -1 )
{
extension = filePath.substring( lastIndex+1, filePath.len );
} else {
extension = "";
}
    return extension;
}

//파일을 선택 후 포커스 이동시 호출
function uploadImg_Change( obj, iwidth, iheight )
{
var value = obj.value;
maxImageHeight=iheight;
maxImageWidth=iwidth;
    var src = getFileExtension(value);
    if (src == "") {
//        alert('올바른 파일을 입력하세요');
fileClear(obj);
        return;
    } else if ( !((src.toLowerCase() == "gif") || (src.toLowerCase() == "jpg") || (src.toLowerCase() == "jpeg")) ) {
        alert('gif 와 jpg 파일만 지원합니다.');
fileClear(obj);
        return;
    }

    LoadImg( obj);

}
function LoadImg(obj)
{
var value = obj.value;
    var imgInfo = new Image();
//    imgInfo.onload = img_Load;
    imgInfo.src = value;
var imgWidth = imgInfo.width;
var imgHeight = imgInfo.height;
if(imgWidth != maxImageWidth || imgHeight != maxImageHeight){
alert(maxImageWidth+"*"+maxImageHeight+"파일만 지원합니다");
fileClear(obj);
return false;
}
}

[Javascript] input type=file 값 초기화

<input type=file name=aaa>

function fileClear(obj){
obj.select();
document.selection.clear();
obj.blur();
}

폼 기본값 넣기

$(document).ready(function() {
   $('input[type=text]').focus(function() {
      if($(this).val() == $(this).attr('defaultValue')) {
         $(this).val('');
      }
   })
   .blur(function() {
      if($(this).val().length == 0) {
         $(this).val($(this).attr('defaultValue'));
      }
   });
});

위와 같은 코드를 넣어 주고.. 아래와 같은 코드를 사용하시면됨..

<input type="text" value="입력해주세요." />

disable/enable 전환



$(selector).disable(), $(selector).enable()

2010년 9월 16일 목요일

양육비...흠...

지원 받을 수 있으려나....ㅡ,.ㅡ;;

==================================
정부가 내년부터 일부 고소득층을 제외한 모든 서민·중산층 가정의 보육비를 책임지겠다고 나서면서 보육료 혜택 범위에 대한 관심이 커지고 있다.

테마가 있는 뉴스Why뉴스최승진 포인트 뉴스'25년차' 대기업 팀장, 수백억대 '핵심기술' 빼돌린 까닭"드로잉, 작가의 마음을 닮은 미술"손숙·허수경…연극 '엄마를 부탁해'정부는 16일 월 소득이 450만원 이하(4인가구 기준)인 서민·중산층이 보육 시설을 이용할 때 내년부터 보육료 전액(0-5세)을 지원키로 했다고 밝혔다.

올해의 경우 76만명의 영유아가 보육료 전액지원을 받았지만 내년에는 91만6천명으로 늘게된다. 전체 보육 가정의 70%가 보육비 지원의 수혜를 입게 될 것으로 보인다.

또 맞벌이 가구(4인가구 기준)에 대한 무상보육 지원대상을 월 소득 498만원에서 600만원으로 대폭 확대했다.

보육시설을 이용하지 않을 경우 지급하는 양육수당도 0-2세까지로 대상을 확대하고, 지원규모도 월 10만원에서 최대 20만원으로 인상했다.

하지만 월소득이 450만원 이하라 하더라도 누구나 지원받을 수 있는 것은 아니다. 정부가 밝힌 기준이 흔히 생각하는 것처럼 월급 기준이 아니라 '소득인정액' 기준이기 때문이다. 관련기사
이 대통령 "서민층 보육비, 전액..아동 보육비 5년 전보다 24% 증가

소득인정액은 실제소득인 월 소득에 일반재산, 금융재산 등을 월평균 소득으로 환산한 급액을 합산해 계산한다.

즉, 집도 있고 차도 있는 가정의 경우 월 소득이 450만원 이하더라도 무상보육 기준인 소득인정액은 초과되기 때문에 지원을 받을 수 없다.

보건복지부 관계자는 "각 가정의 소득인정액은 재산 정도에 따라 다를 수밖에 없기 때문에 지원 대상에 해당되는지 여부는 주민센터(동사무소)에 가서 신청을 하고, 재산조회를 해봐야 알 수 있다"고 말했다.

해당 가정의 소득인정액이 450만원 이하인지를 확인하고 싶으면 관련 서류 등을 지참해 주민센터에 가서 보육료 지원 신청을 해야 한다.

주민센터는 해당 가정에 대한 재산조회를 실시한 후 월 소득 기준에 해당하는 것이 확인되면 아이사랑 카드를 지급한다.

2010년 9월 15일 수요일

2010년 9월 14일 화요일

SELECT 값 유지하는 방법

게시판에서 검색기능 등을 사용할때..

<SELECT>
     <OPTION>제목</OPTION>
     <OPTION>내용</OPTION>
     <OPTION>제목+내용</OPTION>
</SELECT>

SELECT값을 계속 유지하고 싶을때 사용..

$("#kind > option[value='선택한값']").attr("selected","selected");

[clockpick]시간 설정

<link rel="stylesheet" href="/inc/css/jquery.clockpick.1.2.7.css" type="text/css">
<script type="text/javascript" src="/inc/js/jquery.clockpick.1.2.7.js"></script>

        $("#viewTime").clockpick();
        $(".clockpick").clockpick({
            valuefield : 'viewTime'
            });

참고 : http://www.oakcitygraphics.com/jquery/clockpick/trunk/ClockPick.cfm

JQuery Link

--JQuery 관련 링크 모음 (얼마나 될지 모름..)
출처 : http://www.cyworld.com/mengwi/2741267
jQuery Grid Plugin (***) : 게시판에서 정렬과 게시판 펼치기 접기 등의 기능을 도와주는 플러그인http://www.trirand.com/blog/?page_id=6 
 
그리드 (*) : 전체 페이징을 하지 않는 Ajax 게시판http://www.reconstrukt.com/ingrid/example2.html

 
 
팬시박스 (**) : 이미지 팝업창에 모달효과 약간의 에니메이션이 들어감.http://fancy.klade.lv/ (****)
예제 : http://fancy.klade.lv/example
 
jQuery Lightbox Plugin (balupton edition) (**) : 이미지 모달 팝업http://www.balupton.com/sandbox/jquery_lightbox/
 
imagebox : 이미지 모달 팝업http://www.intelliance.fr/jquery/imagebox/
 
이미지 회전 :  이미지의 회전이 가능하게 한다.
http://www.piksite.com/mRotate/mRotate.html
 
jQuery sliding gallery demo : 이미지 애니메이션 슬라이드 http://phplug.net/components/javascript/jquery-gallery.html
 
이미지 슬라이딩 : 좌 우로 움직임http://www.maxb.net/scripts/ycodaslider-2.0/include/demo/#10
 
이미지 공간감 효과 (***)  :  여러 이미지를 레이어 겹쳐 놓음으로써 3D 효과를 준다. 
http://webdev.stephband.info/parallax.html
 
디자이너를 위한 jquery (**) : 태그 조작과 에니메이션 효과와 관련된 사이트http://www.webdesignerwall.com/demo/jquery/(****)
 AutoScroll (*) : 컨트롤 키 누른 채로 mouse 움직였을 때, 자동 스크롤이 가능하게끔http://jdsharp.us/jQuery/plugins/AutoScroll/demo.php (****)
 drag and drop (*) : 드래그 드랍 예제http://host.sonspring.com/dragdrop/ (***)
 
JQuery 예제 모음 사이트 (*****) 
http://www.ajaxrain.com/tag?tag=jquery 
 컬럭 Picker (****)  :  PhotoShop의 색 선택 기능이 가능.http://www.intelliance.fr/jquery/color_picker/

 jQuery MultiSelect (**) : custom 셀렉트 박스, 셀렉트 박스에 체크박스가 추가 되어 여러개를 선택 가능한 박스.http://abeautifulsite.net/notebook_files/62/demo/jqueryMultiSelect.html

 "jQuery checkbox v.1.0.0" demo (**)  : custom 디자인 체크박스http://widowmaker.kiev.ua/checkbox/
 
jQuery Treeview Plugin Demo (**) : 트리 컨트롤러 1
http://jquery.bassistance.de/treeview/demo/
 
jQuery File Tree Demo (***) : JQuery 트리 컨트롤로 2http://abeautifulsite.net/notebook_files/58/demo/
 
jQuery columnManager plugin (*) : 테이블의 컬럼을 추가 삭제등의 기능 제공http://p.sohei.org/stuff/jquery/columnmanager/demo/demo.html
jQuery AIR (***) : ajax를 이용한 항공 좌석 예약.http://www.digital-web.com/extras/jquery_crash_course/
Masked Input Plugin (**) : 입력상자에 exel과 같은 서식 적용.http://digitalbush.com/projects/masked-input-plugin

Watermark Input Plugin (*): 입력상자에 워터마크 표시http://digitalbush.com/projects/watermark-input-plugin
 
ClockPick (***): 입력상자에 시간을 선택해서 넣을 수 있다.http://www.oakcitygraphics.com/jquery/clockpick/trunk/ClockPick.cfm
chart : JQuery를 이용한 차트 http://www.reach1to1.com/sandbox/jquery/jqchart/

 
달력 http://tedserbinski.com/jcalendar/index.html#demo
 
3D로테이션 : 글자들이 xy 좌표에서 3D효과로 회전함.http://www.willjessup.com/sandbox/jquery/rotator/rotator.html
스크롤중 데이터가져오기 : http://www.webresourcesdepot.com/dnspinger/http://www.webresourcesdepot.com/load-content-while-scrolling-with-jquery/
Query Flash Plugin - Basic Example : flash 삽입 플러그인http://jquery.lukelutman.com/plugins/flash/example-basic.html
 jquery combobox demo : custom 콤보박스 ie 7.0으로 보면 깨져나온다.
http://jquery.sanchezsalvador.com/samples/example.htm
scrollable table : 테이블에 스크롤바가 붙어있다-_-;;http://www.webtoolkit.info/demo/jquery/scrollable/demo.html
 
accordion-madnesshttp://www.learningjquery.com/2007/03/accordion-madness
 
jQuery Multimedia Portfoliohttp://www.openstudio.fr/jquery/
 
체크박스 이동http://sanisoft-demo.com/jquery/plugins/shiftcheckbox/demo.html
위지윅에디터http://projects.bundleweb.com.ar/jWYSIWYG/
크랍http://remysharp.com/2007/03/19/a-few-more-jquery-plugins-crop-labelover-and-pluck/#crop
슬라이딩 퍼즐http://www.bennadel.com/blog/1009-jQuery-Demo-Creating-A-Sliding-Image-Puzzle-Plug-In.htm
 
날짜픽업http://kelvinluck.com/assets/jquery/datePicker/v2/demo/
레이팅http://php.scripts.psu.edu/rja171/widgets/rating.php
JQuery Curvy Corners Demo pagehttp://blue-anvil.com/jquerycurvycorners/test.html
 
줌http://www.mind-projects.it/blog/jqzoom_v10
 
LavaLamp for jQuery lovers!http://gmarwaha.com/blog/?cat=8
 
컬러http://www.jnathanson.com/blog/client/jquery/heatcolor/index.cfm#examples
 
비쥬얼 쿼리http://visualjquery.com/1.1.2.html
 
jQuery "Highlight" Demohttp://www.keyframesandcode.com/resources/javascript/jQuery/demos/highlight-demo.html
 
 
Hot Key Testinghttp://jshotkeys.googlepages.com/test-static.html
 
 
accordion menuhttp://www.i-marco.nl/weblog/jquery-accordion-menu-redux/
 
jQuery easyThumbhttp://www.hverven.net/div/easyThumb/
갤러리http://www.flyerstop.ca/ui/apps/gallery_advanced/
 
thickboxhttp://jquery.com/demo/thickbox/
 
마우스휠 플러그인http://www.ogonek.net/mousewheel/jquery-demo.htmlhttp://www.ogonek.net/mousewheel/demo.html
휴먼메세지http://binarybonsai.com/misc/humanmsg/
 
jQuery - LinkedSelecthttp://www.msxhost.com/jquery/linked-selects/json/
 
jQuery » iFrame Sizing http://host.sonspring.com/iframe/
jQuery for Designers - Ajax Form Validation Examplehttp://jqueryfordesigners.com/demo/ajax-validation.php
폰트크기 바꾸기http://www.lllcolor.com/jQuery/demo/demo01b.html
dimensionhttp://brandonaaron.net/docs/dimensions/#code-samples
portlet 데모http://www.rymix.co.uk/jquery/d15/sortables2.html
FX데모http://magalies.net/downloads/Jquery/Interface%20examples/demos/ifx.html#pulsate-fx
오픈윈도우http://magalies.net/downloads/Jquery/Interface%20examples/demos/windows.html
JQuery tricks: using Greybox + form plugin for a modal dialog boxhttp://corky.net/dotan/programming/jquery.dialog/dialog-demo.html
 
FaceBoox style autosuggest with jQueryhttp://web2ajax.fr/examples/facebook_searchengine/
Auto-Growing Textarea Demohttp://www.aclevercookie.com/demos/autogrow_textarea.html
jQuery Helper for Komodo Media CSS Star Rater (Redux)http://www.m3nt0r.de/devel/raterDemo/
에디터http://avidansoft.com/dsrte/
 
jQuery Keyboard Navigation Pluginhttp://amountaintop.com/project/keynav/
텝http://jqueryfordesigners.com/demo/tabs.html
jQuery AccessKey Demohttp://methvin.com/jquery/jq-access.html
Semi-transparent rollover effect using jQueryhttp://coderseye.com/files/demos/pngrollover/index.html
Revealing Photo Sliderhttp://css-tricks.com/examples/RevealingPhotoSlider/
Simple jQuery form validationhttp://www.willjessup.com/sandbox/jquery/form_validator/form_validate.html
after callback demohttp://jsdesigning.com/gal/gal.php?top=10&id_pic=9&id_album=2
 
갤러리http://devkick.com/lab/galleria/demo_01.htm#img/ladybug.jpg
 
SWF Uploadhttp://www.alexandremagno.net/blog/wp-content/uploads/swfupload/index.htm
jQuery gradient - Visual Testhttp://brandonaaron.net/jquery/plugins/gradient/test/
tEditable :: In place table editing for jQueryhttp://joshhundley.com/teditable/index.html
 
 
 
 
sorthttp://interface.eyecon.ro/demos/sort.html
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
http://geeknation.blinklist.com/tag/jQuery/
 
http://www.nalanta.com/node/7http://www.noupe.com/jquery/50-amazing-jquery-examples-part1.htmlhttp://www.blinklist.com/mungkey/jquery/
 
 
http://geekswithblogs.net/AzamSharp/archive/2008/02/21/119882.aspx
http://www.learningjquery.com/2006/12/multiple-fancy-drop-caps
http://www.trirand.com/blog/?page_id=5
 
http://people.iola.dk/olau/flot/examples/selection.html(챠트 선택)
http://www.mootools.net/dragdrop/
http://plugins.jquery.com/project/Plugins/category/21
 
http://mohamedshaiful.googlepages.com/add_remove_form.htm
http://www.chazzuka.com/Portofolio/
http://dev.jquery.com/view/tags/ui/1.5b2/demos/ui.sortable.html
 
 
http://hooney.net/code/2007/08/UnobtrusiveTabNav/tabNav03.html
http://jqueryfordesigners.com/coda-slider-effect/
http://benjaminsterling.com/jquery-jqgalview-photo-gallery/
http://www.mind-projects.it/blog/jqzoom_v10
http://www.reach1to1.com/sandbox/jquery/jqchart/
http://jquery.lukelutman.com/plugins/flash/
http://leandrovieira.com/projects/jquery/lightbox/
http://marcgrabanski.com/code/ui-datepicker/
http://www.noupe.com/ajax/37-more-shocking-jquery-plugins.html
http://www.webdesignerwall.com/demo/jquery/
http://www.gcmingati.net/wordpress/wp-content/lab/jquery/imagestrip/imageslide-plugin.html
http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery
http://www.gcmingati.net/wordpress/wp-content/lab/jquery/imagestrip/imageslide-plugin.html
http://jquery.glyphix.com/
http://www.balupton.com/sandbox/jquery_lightbox/
챠트http://www.filamentgroup.com/lab/creating_accessible_charts_using_canvas_and_jquery/
http://sorgalla.com/projects/jcarousel/
http://designreviver.com/tutorials/jquery-examples-horizontal-accordion
http://host.sonspring.com/portlets/
http://www.webdesignerwall.com/tutorials/jquery-tutorials-for-designers/
http://www.digital-web.com/extras/jquery_crash_course/
 
http://www.blinklist.com/codearachnid/jquery/
http://drupalmodules.com/module/image-enhanced-scaling
http://www.ajaxdaddy.com/store
 
http://www.ajaxrain.com/tag.php?tag=image&page=2(모음)http://www.spicyexpress.net/general/jquerry-at-it-best-downloadable-jquerry-plugins-and-widgets-for-you-2/(예제모음)
http://mike.teczno.com/giant/pan/(pan)

2010년 5월 3일 월요일

안성 목장..

5/2 일요일 아침..

 

잠결에 부산한 소리가 들린다..달그락 달그락..푸쉬~ 설겆이 하고 밥하는 소리도 들리고..

 

쏴아~~ 샤워하는 소리도 들리고..

 

일어나야 하는데..눈이 안떠진다..아직 일어날 시간이 아닌가 보다..다시 잠들었는데..

 

우리 오여사님..날 깨운다..

 

벌써 10시란다..엥~!?! 벌써~!?!? 그러기엔 눈이 너무 안떠지는데..

 

늦으면 사람많고 더우니까 후딱 다녀오자고 한다..오늘..안성목장 가기로 한날..

 

부쉬쉬~ 일어나서 시계를 보니..웬걸..오여사님 또 구라치셨다..벌구..ㅡ_-;

 

7시15분..크헝~

 

엉기적 엉기적 씻고..과일 깍아서 담고..허브차도 보온병에 담고..

 

주먹밥 6개 만들어서 아침대용으로 먹고..출발했다~

 

날씨..끝내주게 좋다~!! 아니..덥다..하악하악~~

 

네비게이션으로 찍고 찾아간 안성목장..음..도착 즈음에..갑자기 구제역이 떠올랐다..

 

들어갈 수는 있을까..??

 

아니나 다를까 입구에 구제역 때문에 우회하라는 팻말이 있다..흠..

 

쌩까고 그냥 들어갔다..ㅡ_-;;조심조심..창문열고 바람을 만끽하며 들어가는 도중..

 

갑자기 뭔가가 푸슈슈슈슈슈슉~~~~ 덴쟝..자동센서 달린 소독기 인가보다..아놔~OTL..

 

역시..말 들었어야 해..

 

처음 내린곳은 승마센터..말탈일 없어서..울 오여사님..더 들어가 보자고 해서 그냥 차타고 들어갔다..

 

걸어갔으면 큰일날뻔 했다..꽤나 멀더구만~ㅡ_-;;

 

5분여 찬찬히 벌판을 지나 달려서..나무 한그루 있는 곳 근처에 차를 세우고 내렸다..

 

사람들..좀 있더군..구제역 많지는 않고..오나양 말씀..밀밭이란다..음..밀은 처음 본거 같은데..

 

아뭏튼..구제역 때문에 다 안으로 들어가지는 못하고 밖에서만 서성서성..나무 밑 그늘도 못 들어가게 다 막아놨다..ㅡ_-;;

 

그래서 바로 옆 배밭으로 갔다..아..배밭 주인님..꽤나 인상 좋으신분..

 

우릴 부르더니 "이리와봐요~~ 이리와서 이것 좀 찍어봐요~~" 하신다..

 

가만보니..배나무 위에 산비둘기가 둥지틀고 알을 품고 있다..허허허허~

 

역시나..본능적인 모성애 인가..사람들이 사진찍고 하는데도 꿈쩍도 하지 않고 열심히 알만품고 있다..

 

주인아저씨..어디서 왔냐 물으시고..우리집 옥상위에 올라가서 사진 찍어야 하는데~ 하신다..

 

배밭 바로 옆에 2층집이 있는데..꽤나 전망이 좋아보인다...but..우린 그냥왔다..ㅋㅋㅋ

 

그곳을 나와서 간 곳은..오여사님이 미리 사전검색 해 놓으신 가마솥들밥..

 

가마솥밥은 많이 봤는데..가마솥 들밥은 뭔가..했는데..아하하하하 들에서 먹는 밥인가 보다..ㅋㅋㅋ

 

예전 들에서 일하면서 먹는..그런 들밥..

 

양푼에다가 보리밥하고 쌀밥을 반반씩 해서 가득 가져다 주시면..그걸 다시 각각의 밥그릇에 퍼다가

 

각종나물하고 비벼 먹는다..아..맛나다..된장국도 맛나고..2인분 시켰는데..얼추 3인분인 될만한 양이다~

 

토요일 점심도 보리밥 먹었는데..생각지도 못하게 또 보리밥이시다..ㅋㅋㅋ

 

덕분에..집에와서 보리방구 붕붕붕뿡뿡뿡..ㅋㅋㅋ

7주..묘호에게..

이제 꼬박 7주가 되었구나..

 

6주때 처음 병원 갔을때..넌 2.3mm였지..

 

아빠는 진료실에 같이 들어가지 못해서 심장소리를 듣지 못했는데..

 

엄마는 그냥 기계소리인 줄 알았다더구나..^^;;

 

그리고 지난 토요일날..병원 갔었는데..

 

아빠도 진료실에 같이 들어오라고 하더구나..

 

우리 묘호..무럭무럭 잘 자라고 있어서 너무너무 기쁘고 좋았단다..

 

그새에 8.7mm까지 자라고..심장박동 소리도 쿵쾅쿵쾅~ 어찌나 큰지..아빠가 깜작 놀랬네~^^;;

 

일주일동안 무사히..건강히..잘 자라주어서 고맙다~^^

 

이제..2주후에 또..우리 묘호가 얼마나 컸는지 볼 수 있겠군..

 

매일매일 그날이 기다려 지는구나..사랑한다 묘호~~^^

2월27일/5월3일

2010년 2월 27일..

 

오나양과 내가 부부가 된 날이다..빰빰빠밤~~~

 

그리고 오늘..

 

2010년 5월3일

 

법적으로 부부가 되었다..

 

조금전 점심시간에 근처 서초구청에 가서 혼인신고를 하고 왔다..

 

아하하하하하~~

 

점심시간이라 그런지 사람들 좀 있었지만..

 

열심히 혼인신고서 작성하고..드디어 법적으로 부부부가 되어버린 것이다~

 

한 일주일즈음 후에 서류로 확인할 수 있다고 하니..한통 띄어다가 집에 붙여놔야 겠다~^^

 

한동안 혼인신고할 생각을 못하고 있다가..

 

우리 묘호때문에 하게 되었다..사랑한다 묘호~ 사랑한다 은아~~^^

 

 

2010년 4월 28일 수요일

묘호~때문에..

안녕 묘호~

 

오늘도 상쾌하게 하루 시작하자꾸나~~^^

 

오늘부터..이 아빠가.. 영어공부를 시작했단다..

 

물론..초보 첫걸음부터..아하하하

 

레이와 함께하는 영어과학교실 이라는 ebs영어교육채널에서 하는건데..

 

이걸 아침에 일~찍 출근해서 30분씩 매일 보려고..

 

아..역시나 ..초보영어(중1부터..level1)임에도 불구하고..

 

원어가 잘 들리지가 않네..아하하하하

 

앞으로 더~~많이 분불해서..

 

우리묘호 과학상식도 많이 알려주고..

 

영어도 많이 알려주고..

 

해외여행 가서도 불편함 없이 하도록 하마~!

 

약속!!

 

어제 밤에 아빠가 얘기했지~!?

 

약속 지키는 사람이 되자궁..

 

이 약속..꼬옥 지키도록 할게~~

 

오늘도 엄마 뱃속에서 편안..히 지내길 바래~~^^

2010년 4월 27일 화요일

안녕 묘호~~

어제부터..오늘도 이 바깥세상은 비가 오는구나~

 

봄이 되었는데..봄처럼 느껴지지가 않네..

 

요즘 같을때는..우리 묘호가 세상밖으로 나왔을때..

 

엄마 아빠가 맘껏 누렸던..그 봄을 보여주지 못하면 어쩌나..하는 걱정도 든단다..

 

어수선한 이 세상이..우리 묘호가 나왔을때는 맑고 향기로운 세상이 되었으면 좋겠다..

 

앞으로 34주..엄마 뱃속에서 포근하게 건강하게 잘~ 있다가 힘차게 나오길 바래..

 

 

2010년 4월 26일 월요일

묘호 덕분에..

우리 묘호 덕분에 오랫만에 기분이 좋구나~

 

복덩이 녀석..

 

우리 묘호가 엄마 뱃속에 있다고 하니..

 

외할머니도 잘됐다 해주시고~

 

할머니 할아버지도 축하한다 해주시고~

 

아빠 친구들도 축하한다 해주는구나..

 

오랫만에 여기저기에서 좋은얘기 많이 듣는다~

 

우리 묘호 덕분에~^^

 

아참..할머니가 우리 묘호 태몽 꾸셨단다~

 

커다란 금붕어를 잡으셨다는구나~

 

금붕어처럼 이세상에 반짝반짝 빛나는 사람이 되었으면 좋겠다~

 

사랑한다~ 묘호~^^

묘호..

# 묘호

연꽃처럼 " 늘 맑고 향기롭게 "  둘레를 비추는 사람 .

 

한동안 바쁘다는 핑계로..귀찮다는 핑계로 블로그를 내 팽개쳐 뒀는데..

 

새로운 가족을 만든지 57일만에 새로운 가족이 또 늘었다..

 

묘호..

 

늘..맑고 향기로운 우리 아가가 되었으면 좋겠다..

 

건강하게 무럭무럭 자라나려므나..우리 묘호..

 

6주..아빠가..

 

아래는..스님말씀..

 

불교에는 '무학無學'이라는 말이 있습니다.
이는 배움이 없고 무식하다는 소리가 아닙니다
많은것을 배웠으면서도 배움에 걸리지 않고
구애되지 않는 그런 경지입니다
다시 말하면 많이 알고 있으면서도
아는 것으로부터 자유로워진 상태입니다.

적게 알면서도 많이 행할 수 있어야 합니다
그가 진정 아는 사람입니다
자비니 사랑이니 하는 말은 지극히 추상적인 용어입니다
우리는 만나는 대상에게 한결같이 친절해야 합니다
밝은 표정과 따뜻한 말씨로써 친절하게 대하는 것이
사랑이고 자비입니다
이것이 모든 신앙인들의 화두가 되어야 합니다

단순한 학문이나 맹목적 수행으로는
종교적 현실을 움직일 힘이 나오지 않습니다
'묘호인妙好人'이라는 말이 있습니다
종교적인 이론은 전혀 모르지만 마음이 지극한 신앙인으로,
어떻게 하든지 이웃을 위해서 헌신하려는
노력을 지닌 사람을 말합니다

'묘호妙好'는 흰 연꽃에서 나온 말로,
연꽃처럼 늘 맑고 향기롭게 둘레를 비추는 사람이라는 뜻입니다

               - 法頂스님 -

2010년 3월 29일 월요일

Http Post 방식으로 header 설정 및 xml 데이터 전송

http post 방식으로 header를 설정한 후 xml 데이터를 서버에 전달 후

그 결과를 받는다.

첨부된 파일을 압축을 풀면 lib 디렉토리 안의 jar 파일들을

%CATALINA_HOME%\common\lib 에 위치시키거나

CALSSPASS를 잡아준 후 이용하면 된다.


<%@ page import="org.apache.commons.httpclient.HttpClient" %>
<%@ page import="org.apache.commons.httpclient.methods.PostMethod" %>
<%@ page import ="java.net.*" %>
<%@ page import ="java.io.*" %>

<%

    String orgMsg="abcdefg";
    String encMsg = null;
    String header1 = "header1";
    String header2 = "header2";
    String header3 = "header3";
    String ContentsType="text/xml";
    

    AES256 aes = new AES256();
    encMsg = aes.encrypt(msg);

      String xmldata = "<? xml version=\"1.0\" encoding=\"euc-kr\"?> "
                            +"<! DOCTYPE lgtpims:schema>"
                            +"<schema targetns=\"http://www.aaa.com\""
                    +"version=\"1.0\" xmlns=\"http://www.w3.org/2000/10/XMLSchema\">"
                        +"<parameter method=\"add\">"
                            +"<element-value name=\"addelement\">aaaaa</element-value>"
                            +"<element-value name=\"addelementtype\">bbbbb</element-value>"
                        +"</parameter>"
                    +"</schema>" ;

        String strURL = "http://www.aaa.com/aaa";
        PostMethod post = new PostMethod(strURL);
        post.setRequestHeader("Content-type", "text/xml; charset=ISO-8859-1");
        post.setRequestHeader("header1","header1");
        post.setRequestHeader("header2",header2);
        post.setRequestHeader("header3",header3");
        post.setRequestHeader("Content-Length",Integer.toString(xmldata.length()));
        post.setRequestBody(xmldata);

        HttpClient httpclient = new HttpClient();            

        try {
            int result = httpclient.executeMethod(post);
            // Display status code
            out.println("<br>Response status code: " + result);
            // Display response
             out.println("<br>Response header: "+post.getResponseHeader("Status-Line"));
            out.println("<br>Response body: ");
            out.println(post.getResponseBodyAsString());
        } finally {
            // Release current connection to the connection pool once you are done
            post.releaseConnection();
        }


%>

JAVA AES 256 암호화

aes256 암호화

import sun.misc.BASE64Encoder;
import sun.misc.BASE64Decoder;
 
import javax.crypto.*;
import javax.crypto.spec.SecretKeySpec;
import java.io.*;
import java.security.NoSuchAlgorithmException;
 
public class AES256 {
  public static SecretKeySpec getKeySpec() throws IOException, NoSuchAlgorithmException {
        byte[] bytes = new byte[32];
        SecretKey key = null;
        SecretKeySpec spec = null;
/* 
        File f = new File("aes_key");
        if (f.exists()) {
          new FileInputStream(f).read(bytes);
        } else {
           KeyGenerator kgen = KeyGenerator.getInstance("AES");
           kgen.init(256);
           key = kgen.generateKey();
           bytes1 = key.getEncoded();
           new FileOutputStream(f).write(bytes1);
        }
*/
        String keyStr="암호화된 대칭키";
        bytes = Base64Utils.base64Decode(keyStr);

        spec = new SecretKeySpec(bytes,"AES");
        return spec;
  }


  public String encrypt(String text) throws Exception {
        SecretKeySpec spec = getKeySpec();
        Cipher cipher = Cipher.getInstance("AES");
        cipher.init(Cipher.ENCRYPT_MODE, spec);
        BASE64Encoder enc = new BASE64Encoder();

        return enc.encode(cipher.doFinal(text.getBytes())).toString();
  }
  public String decrypt(String text) throws Exception {
        SecretKeySpec spec = getKeySpec();
        Cipher cipher = Cipher.getInstance("AES");
        cipher.init(Cipher.DECRYPT_MODE, spec);
        BASE64Decoder dec = new BASE64Decoder();
        return new String(cipher.doFinal(dec.decodeBuffer(text)));
  }
  public static void main(String[] args) throws Exception {
        String mode = "encrypt";
        String text = "!mpluse0218";
        String encText = "";
        String decText = "";
        AES256 aes = new AES256();
        encText=aes.encrypt(text);
        System.out.println("5ClhQFro0UAI+LrZkilamw==");
          System.out.println("enc::"+encText);
        decText = aes.decrypt(encText);
        System.out.println("dec::"+decText);
  }
}

Base64Utils.java

AES 256암호화시 대칭키를 불러와서 암호화 하는데..암호화 결과가 자꾸 틀렸다..ㅡ_-;;

아놔..고민고민 끝에 암호화된 대칭키를 아래 모듈의 DECODE로 풀어서 넣었더니..되더라..음..


public class Base64Utils {
 
    private static byte[] mBase64EncMap, mBase64DecMap;
 
    /**
     * Class initializer. Initializes the Base64 alphabet (specified in RFC-2045).
     */
    static {
        byte[] base64Map = {
            (byte)'A', (byte)'B', (byte)'C', (byte)'D', (byte)'E', (byte)'F',
            (byte)'G', (byte)'H', (byte)'I', (byte)'J', (byte)'K', (byte)'L',
            (byte)'M', (byte)'N', (byte)'O', (byte)'P', (byte)'Q', (byte)'R',
            (byte)'S', (byte)'T', (byte)'U', (byte)'V', (byte)'W', (byte)'X',
            (byte)'Y', (byte)'Z',
            (byte)'a', (byte)'b', (byte)'c', (byte)'d', (byte)'e', (byte)'f',
            (byte)'g', (byte)'h', (byte)'i', (byte)'j', (byte)'k', (byte)'l',
            (byte)'m', (byte)'n', (byte)'o', (byte)'p', (byte)'q', (byte)'r',
            (byte)'s', (byte)'t', (byte)'u', (byte)'v', (byte)'w', (byte)'x',
            (byte)'y', (byte)'z',
            (byte)'0', (byte)'1', (byte)'2', (byte)'3', (byte)'4', (byte)'5',
            (byte)'6', (byte)'7', (byte)'8', (byte)'9', (byte)'+', (byte)'/' };
        mBase64EncMap = base64Map;
        mBase64DecMap = new byte[128];
        for (int i=0; i<mBase64EncMap.length; i++)
            mBase64DecMap[mBase64EncMap[i]] = (byte) i;
    }
 
    /**
     * This class isn't meant to be instantiated.
     */
    private Base64Utils() {
    }
 
    /**
     * Encodes the given byte[] using the Base64-encoding,
     * as specified in RFC-2045 (Section 6.8).
     *
     * @param aData the data to be encoded
     * @return the Base64-encoded <var>aData</var>
     * @exception IllegalArgumentException if NULL or empty array is passed
     */
    public static String base64Encode(byte[] aData) {
        if ((aData == null) || (aData.length == 0))
            throw new IllegalArgumentException("Can not encode NULL or empty byte array.");
 
        byte encodedBuf[] = new byte[((aData.length+2)/3)*4];
 
        // 3-byte to 4-byte conversion
        int srcIndex, destIndex;
        for (srcIndex=0, destIndex=0; srcIndex < aData.length-2; srcIndex += 3) {
            encodedBuf[destIndex++] = mBase64EncMap[(aData[srcIndex] >>> 2) & 077];
            encodedBuf[destIndex++] = mBase64EncMap[(aData[srcIndex+1] >>> 4) & 017 |
                        (aData[srcIndex] << 4) & 077];
            encodedBuf[destIndex++] = mBase64EncMap[(aData[srcIndex+2] >>> 6) & 003 |
                        (aData[srcIndex+1] << 2) & 077];
            encodedBuf[destIndex++] = mBase64EncMap[aData[srcIndex+2] & 077];
        }
 
        // Convert the last 1 or 2 bytes
        if (srcIndex < aData.length) {
            encodedBuf[destIndex++] = mBase64EncMap[(aData[srcIndex] >>> 2) & 077];
            if (srcIndex < aData.length-1) {
                encodedBuf[destIndex++] = mBase64EncMap[(aData[srcIndex+1] >>> 4) & 017 |
                    (aData[srcIndex] << 4) & 077];
                encodedBuf[destIndex++] = mBase64EncMap[(aData[srcIndex+1] << 2) & 077];
            }
            else {
                encodedBuf[destIndex++] = mBase64EncMap[(aData[srcIndex] << 4) & 077];
            }
        }
 
        // Add padding to the end of encoded data
        while (destIndex < encodedBuf.length) {
            encodedBuf[destIndex] = (byte) '=';
            destIndex++;
        }
 
        String result = new String(encodedBuf);
        return result;
    }
 
 
    /**
     * Decodes the given Base64-encoded data,
     * as specified in RFC-2045 (Section 6.8).
     *
     * @param aData the Base64-encoded aData.
     * @return the decoded <var>aData</var>.
     * @exception IllegalArgumentException if NULL or empty data is passed
     */
    public static byte[] base64Decode(String aData) {
        if ((aData == null) || (aData.length() == 0))
            throw new IllegalArgumentException("Can not decode NULL or empty string.");
 
        byte[] data = aData.getBytes();
 
        // Skip padding from the end of encoded data
        int tail = data.length;
        while (data[tail-1] == '=')
            tail--;
 
        byte decodedBuf[] = new byte[tail - data.length/4];
 
        // ASCII-printable to 0-63 conversion
        for (int i = 0; i < data.length; i++)
            data[i] = mBase64DecMap[data[i]];
 
        // 4-byte to 3-byte conversion
        int srcIndex, destIndex;
        for (srcIndex = 0, destIndex=0; destIndex < decodedBuf.length-2;
                srcIndex += 4, destIndex += 3) {
            decodedBuf[destIndex] = (byte) ( ((data[srcIndex] << 2) & 255) |
                ((data[srcIndex+1] >>> 4) & 003) );
            decodedBuf[destIndex+1] = (byte) ( ((data[srcIndex+1] << 4) & 255) |
                ((data[srcIndex+2] >>> 2) & 017) );
            decodedBuf[destIndex+2] = (byte) ( ((data[srcIndex+2] << 6) & 255) |
                (data[srcIndex+3] & 077) );
        }
 
        // Handle last 1 or 2 bytes
        if (destIndex < decodedBuf.length)
            decodedBuf[destIndex] = (byte) ( ((data[srcIndex] << 2) & 255) |
                ((data[srcIndex+1] >>> 4) & 003) );
        if (++destIndex < decodedBuf.length)
            decodedBuf[destIndex] = (byte) ( ((data[srcIndex+1] << 4) & 255) |
                ((data[srcIndex+2] >>> 2) & 017) );
 
        return decodedBuf;
    }
 
}

AES 256 암호화 오류


JDK1.4 : java.lang.SecurityException : UnSupported keysize or algorithm parameters

JDK1.5 :  java.security.InvalidKeyException: Illegal key size or default parameters

첨부된 압축파일을 풀어서 local_policy.jar, US_export_policy.jar 파일을

%JAVA_HOME%\jre\lib\security 안에 복사하면 된다.

아..무진장 헤맸다..이것때문에..ㅡ_-;;

이 글을 포스팅 해 놓은 원문의 블로거님께 감사드립니다..(__);

[원문 : http://blog.naver.com/kimsumin75/20053382618]

2010년 3월 18일 목요일

AJAX이용한 XML 데이터 전송 및 전송된 XML 데이터 받기

1.xmlPostClient.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
<script type="text/javascript">
    var xmlHttp;
    function createXMLHttpRequest(){
        if(window.ActiveXObject){
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }else if(window.XMLHttpRequest){
            xmlHttp=new XMLHttpRequest();
        }
    }
    function sendXML(){
        createXMLHttpRequest();

        var xml="<VCOUPON><TEL_NO>0101234567</TEL_NO><AMOUNT>1000</AMOUNT><RETURNCODE>00</RETURNCODE></VCOUPON>";
        var url="http://localhost:8080/test/httpPostServer.jsp";
        xmlHttp.open("POST",url,true);
        xmlHttp.onreadystatechange=handleStateChange;
        xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
        xmlHttp.setRequestHeader("aaa","aaa");
        xmlHttp.setRequestHeader("bbb","bbb");
        xmlHttp.send(xml);
    }

    function handleStateChange(){
        if(xmlHttp.readyState==4){
            if(xmlHttp.status==200){
                parseResults();
            }
        }
    }

    function parseResults(){
        var responseDiv=document.getElementById("response");
        if(responseDiv.hasChildNodes()){
            responseDiv.removeChild(responseDiv.childNodex[0]);
        }
        var responseText = document.createTextNode(xmlHttp.responseText);
        responseDiv.appendChild(responseText);
    }
</script>
</head>
<body>
<input type="button" value="보내기" onClick="sendXML();"><br>
<div id="response">

</div>
</body>
</html>

2.xmlPostServer.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import = "java.io.*" %>
<%@ page import = "javax.xml.parsers.DocumentBuilderFactory" %>
<%@ page import = "javax.xml.parsers.ParserConfigurationException" %>
<%@ page import = "org.w3c.dom.Document" %>
<%@ page import = "org.w3c.dom.NodeList" %>
<%@ page import = "org.xml.sax.SAXException" %>

<%!
    public String readXMLFromRequestBody(HttpServletRequest request){
        StringBuffer xml = new StringBuffer();
        String line = null;
        try{
            BufferedReader reader = request.getReader();
            while((line=reader.readLine())!=null){
                xml.append(line);
            }
        }catch(Exception e){
            System.out.println("Error reading XML:"+e.toString());
        }
        return xml.toString();
    }
%>
<%
    String xml=readXMLFromRequestBody(request);
    Document xmlDoc = null;
    try{
        xmlDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new ByteArrayInputStream(xml.getBytes()));
    }catch(ParserConfigurationException e){
        System.out.println("ParserConfigurationException : "+e);
    }catch(SAXException e){
        System.out.println("SAXException : "+e);
    }
    System.out.println("header aaa : "+request.getHeader("aaa"));
    System.out.println("header bbb : "+request.getHeader("bbb"));
    NodeList TEL_NO = xmlDoc.getElementsByTagName("TEL_NO");
    NodeList AMOUNT = xmlDoc.getElementsByTagName("AMOUNT");
    NodeList RETURNCODE = xmlDoc.getElementsByTagName("RETURNCODE");
    String telno = null;
    String amount = null;
    String returncode = null;
    String responseText = "request text : ";
    for(int i = 0; i < TEL_NO.getLength();i++){
        telno = TEL_NO.item(i).getFirstChild().getNodeValue();
        responseText = responseText+"TEL_NO : "+telno;
    }
    for(int i = 0; i < AMOUNT.getLength();i++){
        amount = AMOUNT.item(i).getFirstChild().getNodeValue();
        responseText = responseText+"AMOUNT : "+amount;
    }
    for(int i = 0; i < RETURNCODE.getLength();i++){
        returncode = RETURNCODE.item(i).getFirstChild().getNodeValue();
        responseText = responseText+"RETURNCODE : "+returncode;
    }   
   
    response.setContentType("text/xml");
    out.print(responseText);
%>

2010년 2월 23일 화요일

javascript 레이어 화면 따라다니기.

    function staticize(){
        var scontentmain = document.getElementById("divID");
        w2=document.documentElement.scrollLeft+150;
        scontentmain.style.left=w2;      //화면 가로로 따라다니기..
//        scontentmain.style.top=h2;   // 화면 세로로 따라다니기...
    }
    window.onscroll=staticize;

2010년 2월 11일 목요일

눈온다..

작년 설 연휴에도 펑펑 쏟아지더니..

올해도 어김없이 펑펑 쏟아지는구나..ㅡ,ㅡ;

한동안 날씨 좋더니..음..


2010년 2월 9일 화요일

실행의 법칙

72:1 법칙이라는 것이 있다.


자신이 결심한 사항을 72시간,
즉 3일 이내에 행동으로 옮기지 않으면
단 1 퍼센트도 성공할 가능성이 없다는 말이다.


무엇인가를 성사시키기 위해서는
결심한 다음 바로 실행에 옮겨야 한다.

- 유영만, '청춘경영'에서

 

- 누구나 쉽게, 바로 시작 할 수 있는 -

2010년 2월 8일 월요일

고 임수혁 선수의 명복을 빕니다..

끝내 일어나지 못한 임수혁 선수의 명복을 빕니다..

더불어 국내 경기장내 응급시설이 강화되기를 바랍니다..

제2의 임수혁 선수가 나오지 않기를...


2010년 2월 5일 금요일

금빛날개...

KT가기전..잠시 DAUM 스포츠 뉴스 클릭하는 순간..

금빛날개..

울산가다..@,.@

울산유니폼 안이쁘다 그래서 호로곤 감독님 화나셨나..급!분노의 영입이시다..

금빛날개..김동진..울산행..ㅠㅠ

하긴..지금 서울 와봐야..아디신..현영민..엔둥 상황에 따라서 김치우..와 함게 주전경쟁을 벌여야 할 판국인데..

월컵노리는 선수로써 주전으로 확실히 뛸 수 있는 팀이 좋겠지..

그나저나..매년 이기기 힘든 울산인데..수비라인 ㅎㄷㄷ이로구나..ㅡ_-;;

김동진-김치곤-유경렬-오범석..허걱!!!

이거..골이나 제대로 넣을 수 있을라나 모르것네..

다행스럽게 1년 계약이라..

내년이면 아디신님이 35..

올해 아시안게임 금메달 걸고 병역혜택 받고..

부디 친정팀 복귀 하기를..아하하하하하

2010년 2월 4일 목요일

타이거즈 2010년 유니폼

지못미..타이거즈..ㅠㅠ
뭐 이따구야..한화 유니폼삘도 나고..게다가 티셔츠형..티셔츠형이 선수들이 입기 편하다니..
그나마 그건 이해하겠지만..에효..

FC서울 2010 유니폼

2010년형 유니폼이다..
아..작년에 어웨이유니폼도 사둘걸..
처음봐서 그런가..초쿰 어색한 것 같기도 하고..
그래도 울산보다는..이뿌니..아하하하하


2010년 2월 3일 수요일

웹표준..

HTML, CSS, JAVA SCRIPT, XML..기타 등등등..

아직 스마트폰을 사용하지 않는 단호박군..

회사에서 지원금 줄테니 바꾸란다..써봐야 안다고..흠..땡기긴 하는데..안드로이드로 갈까..ㅡ_-;;

그나저나..

위에 열거한 단어들..

특별히 게임을 제외한 일반 사이트(?)서비스(?)들은 저녀석들로 개발하면

아이폰이나 안드로이드, 블랙베리 등등에 넣을 수 있게 자동으로 변환해주는 툴이 요즘 속속들이 나온단다..

그래서..저놈들..대충알고 있는 저놈들..공부하라신다..허허허허허~

책도 고르고..사이트도 뒤적거리고..

장가갈라니까 할일이 많아진다..좋은현상이겠지~?!

좋게믿자...

긍정적으로오~~~~~~~~~~~

JSP 스트럿츠

[펌]원문 : http://sugame.tistory.com/273?srchid=BR1http%3A%2F%2Fsugame.tistory.com%2F273


<c:set var="${str}" scope="page">테스트</c:set>
<c:out value="하하하${str}" />


<%
member.setName("테스트");
member.setAge(30);
%>

<!-- 변수 선언 -->
<c:set var="str1" scope="page">는 학생입니다.</c:set>

<c:set var="str2" scope="page" value="는 회사원입니다." />


<!-- 출력문 -->
<c:out value="<b>${member.name}</b>${str1}" escapeXml="false" /><br>

<c:out value="${member.name}${str2}" /><br>


<!-- 빈 클래스에 값 넣기 -->
<c:set target="${member}" property="name">안닝하세요!!!</c:set>

<c:set target="${member}" property="name" value="hello!!" />

<c:out value="${member.name}" />

 


<c:set var="str1" value="${member.name}" />

<c:set target="${member}" property="name">오리!!</c:set>

<c:out value="${str1}" />

 

 

 

<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tld/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c" %>

<jsp:useBean id="member" class="com.test.CMember">
<jsp:setProperty name="member" property="*" />
</jsp:useBean>


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>스트럿츠 태그 라이브러리 테스트1</title>
</head>
<body>

 <!-- dan 파라메터가 없을 경우 -->
<logic:notPresent parameter="dan">
  <b>오류!! dan 파라메터가 null입니다.</b>
</logic:notPresent>

<logic:present parameter="dan">
  <!-- dan 파라메터에 값이 없을 경우 -->
  <logic:equal parameter="dan" value="">
   <b>dan 파라메터에 출력할 구구단의 단(숫자)을 입력하세요</b>
  </logic:equal>

 
  <logic:notEqual parameter="dan" value="">
 
   <c:set var="dan" value="<%= request.getParameter("dan") %>" />
   <c:if test="${dan > 0 and dan <= 99}">
    <c:out value="${dan}"/> 단입니다. <br/>
   
    <table border=1>
    <c:forEach var="i" begin="1" end="9" step="1">
     <tr>
      <td><c:out value="${dan} * ${i} = ${dan*i}"/></td>
     </tr>
    </c:forEach>
    </table>
   </c:if>
   
   <!-- else if 문법이 없다. -->
   <c:if test="${not (dan > 0 and dan <= 99)}">
    <c:out value="1 ~ 99단까지만 출력 가능합니다."/>
   </c:if>
   
  </logic:notEqual> 

</logic:present>

</body>
</html>


 

<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ page import = "java.util.Iterator" %>
<%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tld/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c" %>

<jsp:useBean id="member" class="com.test.CMember">
<jsp:setProperty name="member" property="*" />
</jsp:useBean>

 

forEach를 이용해 리스트 꺼내오기

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>스트럿츠 태그 라이브러리 테스트1</title>
</head>
<body>
<table border="1">
<tr>
  <td>번호</td><td>이름</td><td>나이</td>
</tr>
<c:forEach var = "item" items = "${member.memberList}" varStatus = "num">
<tr>
  <td><c:out value="${num.count}"/></td>
  <td><c:out value="${item.name}"/></td>
  <td><c:out value="${item.age}"/></td>
</tr>
</c:forEach>
</table>

 
</body>
</html>




if문에 보면 새로운 val 옵션이 있으며 그곳에 식이 참인지 거짓인지 저장된다.
<c:set var="name">홍길동aa</c:set>

<c:if test="${name == '홍길동'}" var="result">
당신은 홍길동입니다.
</c:if>
<c:if test="${not result}">
당신은 홍길동이 아니고 <b>${name}</b> 이군요!!
</c:if>

 

switch문
<c:set var="age" value="25"/>

<c:choose>
<c:when test="${age < 10}">
  당신은 어린 아이군요!
</c:when>
<c:when test="${age < 20}">
    당신은 팔팔한 10대군요!
</c:when>
<c:when test="${age < 30}">
    당신은 건장한 20대군요!
</c:when>
<c:when test="${age < 40}">
    당신은 30대군요!!
</c:when>
<c:otherwise>
    당신은 40대 이상입니다.
</c:otherwise>
</c:choose>

 

-------------------------------------------------------------------------------- setTest1.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" import="java.util.*"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%-- Map 종류가 아닐 경우 --%>
<c:set var="userLevel" scope="session">
Sheriff, Bartender, Cowgirl
</c:set>

<%-- Map 종류일 때 --%>
<%
Hashtable user = new Hashtable();
session.setAttribute("user", user);
%>
<c:set target="${user}" scope="session" property="Level" value="king"></c:set>

<jsp:forward page="setTest2.jsp"/>

-------------------------------------------------------------------------------- setTest2.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%-- Map 종류가 아닐 경우 --%>
<c:forEach var="content" items="${userLevel}">
userLevle : ${content} <br>
</c:forEach>

<%-- Map 종류일 때 --%>
Map에 세팅한  user Level : ${user.Level}

2010년 1월 28일 목요일

...

꿈은 많은데 꿈이 없고..

생각은 많은데 생각이 없다..

아..나도 이제 유명인인가..ㅡ_-;;

얼마전 간만에 알싸에 접속했다..

그러다 본글..제목.."서울구단 홈피에서 피식하게 되는....ㅋㅋ"

오~~ 뭐가 있지~? 하고 클릭했다..

그 글의 원문은 아래..

FC서울 쇼핑몰에 있는걸 퍼온 글이다..

모자 사이즈 문의..그에 대한 관리자의 답변..

내 문의 글이다..이런..모자가 작다고 사이즈좀 늘려달라고 투정한 글이다..

이게 이렇게 뜰줄이야..ㅠㅠ

알싸 정회원이 아니라서 글을 못쓴다..

댓글에 쓰고싶은 마음이..아주 초큼~소심하게 있었다...나에요~~하고..ㅡ,.ㅡ

유명세 좀 타보고 싶은 마음~? 근데 글을 못썼다..조금 아쉬웠다능..아하하하하..ㅡ_-;;

어쨋든..사람들이 즐거워하니..뭐..그걸로 됐다..ㅡ,.ㅡ;

[서울☆] 서울구단 홈피에서 피식하게 되는....ㅋㅋ| ★ …… K-리그 토크

 

 

 

 

 

팬 염장지르는 관리자 ㅋㅋ

 

'머리가 많이 크신가봐요 ㅋ'

 

 

 

 

 

 

 
저작자 표시컨텐츠변경비영리
 
많이 크신가봐요..ㅋ ???? 회사에서 한번 짤려봐야 자음 모음 합부로쓰는게 아니란걸 알텐데... 10.01.25 16:09
 
머리가 많이 크신가봐요ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 10.01.25 16:10
 
어 간지네 ㅋㅋ 10.01.25 16:11
 
머리가 많이 크신가봐요 ㅋㅋㅋㅋㅋㅋㅋ 10.01.25 16:15
 
아놔 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 10.01.25 16:20
 
..대략난감하오 10.01.25 16:29
 
61호면 작은건 아니네-_- 10.01.25 16:34
 
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 10.01.25 16:39
 
머리가 많이 큰가 보네요.........ㅋㅋㅋ 10.01.25 16:42
자포방으로 퍼갈꼐요 아놬 ㅋㅋㅋㅋㅋㅋㅋ 10.01.25 16:44
 
머리가 많이 크신가봐요 ㅋ
끝에 ㅋ 하나 붙여주는 센스 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
10.01.25 16:43
 
웃기는 재주가 있으신가 봐요. 10.01.25 17:12
 
ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 관리자 개그본능 있으시네 10.01.25 17:24
 
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 빵터졌잖아욬ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 10.01.25 17:41
 
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 10.01.25 18:17