자바스크립트 match 함수를 자바로?

자바스크립트 match 함수는 String에 있는데 정규식에 대응하는 문자열 배열을 리턴해 주는 함수입니다. 매우 편하죠.

http://www.w3schools.com/jsref/jsref_match.asp

그런데 자바에는 그런게 없어요. String 클래스에 비슷해 보이는 메서드가 split이랑 match가 있는데 다 원하던게 아니에요. 자바스크립트 match랑 비슷한걸 만들려면 Patttern이랑 Matcher를 써야하는데… 그 둘을 써도 코드가 간단하질 않아요. 그래서 유틸을 만들었는데.. 자바 String이나 Matcher에 기본으로 들어갔으면 좋겠습니다.

아 귀찮게 이게 뭔짓인지… 제 모든 감정은 gist 제목에 써놨습니다.

테스트도 했어요.

DisplayTag에서 팝업 링크 달기

DisplayTag를 계속해서 사용해보니, 한계점들이 들어납니다. 역시 직접 사용해서 뭔가 만들어보기 전까진 모르는건가 봅니다. 암튼, 찾아보니 어떻게든 방법은 있길래 적용했습니다.

    <d:column title=”No”>
        <a href=”javascript:sendToUpdate(<c:out value=”${maingrid.id}” />)”>
            <%out.print(count++);%>
        </a>
    </d:column>

거의뭐.. displaytag가 해주는 일은 없습니다. 그냥 자바스크립트를 이용해서 팝업창 띄우기라고 글 제목을 바꿔야할지도 몰겠습니다.

<script type=”text/javascript”>
function sendToUpdate(selectedId) {
    popup(“update.do?id=” + selectedId + “&gridid=maingrid”, “maingridpopup”, 500, 600, “yes”, “yes”);
}

이제, 그리드 완성입니다. 태그 파일로 다듬고, 태그 파일 서술자 만들어서 url로 태그 파일 참조해서 사용할 수 있는지만 확인하면 OSAF 배포합니다. 이번 주를 목표로 합니다. 아자 아자 파이팅!!!!

Really easy field validation 사용하기


흐흐흐 역시나 css는 같이 딸려 온 것을 사용했더니 깔끔하고 좋습니다. js 파일들 경로를 못 찾아서 삽질을 했네요. 이젠 css랑 js파일 경로 지정해 주는 방법을 완벽히 파악했습니다.

사용하는 방법
1. 먼저 필요한 js 파일들을 다운로드 합니다.
2. js파일들을 head 태그 사이에서 경로를 지정해 줍니다.
3. input 태그에서 class와 name 속성을 잘 사용합니다.
4. validator를 사용하는 스크립트를 작성합니다.

1. 여기서 다운로드 할 수 있습니다.

2. js나 css파일들의 경로는 web폴더 기준입니다.
사용자 삽입 이미지패키지 구조가 위와 같을 때 addMember.jsp에서 ../../../js/뭐시기.js 이런식으로 접근이 안되더군요.

web폴더를 기준으로 js/뭐시기.js 이렇게 써주면 됩니다. 따라서 다음과 같이 코딩하면 됩니다.
사용자 삽입 이미지
3. ID 필드 부분의 코드를 보시면 다음과 같습니다.

<div class=”form-row”>
      <div class=”field-label”><label for=”field1″>ID</label>:</div>
      <div class=”field-widget”><input name=”member.id” id=”field1″ class=”required” title=”Enter your id” /></div>
</div>

div는 css를 먹이기 위해 사용했습니다. 빨간 부분이 핵심 부분인데요. 그 중에서도 id와 class 속성이 초 핵심 부분입니다.

id는 해당 컴포넌트를 지칭하기 위한 것입니다. 나중에 자바스크립트에서 저 이름을 사용합니다

class 속성에는 다음과 같은 값을 줄 수 있는데요. 저기에 적당한 값을 넣어 주면 그에 해당하는 validation을 해줍니다.

    * required (not blank)
    * validate-number (a valid number)
    * validate-digits (digits only)
    * validate-alpha (letters only)
    * validate-alphanum (only letters and numbers)
    * validate-date (a valid date value)
    * validate-email (a valid email address)
    * validate-url (a valid URL)
    * validate-date-au (a date formatted as; dd/mm/yyyy)
    * validate-currency-dollar (a valid dollar value)
    * validate-selection (first option e.g. ‘Select one…’ is not selected option)
    * validate-one-required (At least one textbox/radio element must be selected in a group – see below*)

4. validator 객체를 사용하는 스크립트를 작성합니다. 위 예제에 있던 스크립트를 그대로 사용했습니다.

<script type=”text/javascript”>
    function formCallback(result, form) {
        window.status = “valiation callback for form ‘” + form.id + “‘: result = ” + result;
    }

    var valid = new Validation(‘test’, {immediate : true, onFormValidate : formCallback});
    Validation.addAllThese([
        [‘validate-password’, ‘Your password must be more than 6 characters and not be \’password\’ or the same as your name’, {
            minLength : 7,
            notOneOf : [‘password’,’PASSWORD’,’1234567′,’0123456′],
            notEqualToField : ‘field1’
        }],
        [‘validate-password-confirm’, ‘Your confirmation password does not match your first password, please try again.’, {
            equalToField : ‘field8’
        }]
    ]);
</script>

대강 해석은 되고 내용 추가나 변경은 하겠는데 막상 이렇게 작성하라면 못하겠네요. 뭐 걍 당분간은 컨트롤 C + V 로~  🙂

신기한 JavaScript 들

Cross-fade Anything :: 페이드 효과를 사용할 수 있습니다. 사진첩 예제가 있습니다.
FastInit :: 페이지 초기화를 빠르게 해주는 효과가 있는 듯 합니다.
Tablekit :: 와~ 테이블 정렬, 데이타 수정을 할 수 있게 해줍니다.
Countdown Timer :: 카운트다운을 추가할 수 있습니다.
Really easy field validation :: 입력한 데이타 유효성 체크하는 스크립트.

야후 YUI에서 제공해 주는 스크립트도 괜찮았었는데.. 저 위에 있는 것들 모두 써보고 싶네요. 뮬개 선생님 블로그에 있던 링크를 보고 돌아다니다가 재미난것들이 많아서 정리해둡니다. JavaScript 랑 AJAX 하나도 모르는데.. Really easy filed validation 이 정말 쉬운지 한번 써봐야겠네요. 흠~