Commons-Lang
IV. org.apache.commons.lang.StringUtils
java api의 String을 보면 문자열 처리하기에는 제공하는 기능들이 너무 빈약합니다.
그래서 프로그래머들은 자기 나름데로의 독특한 Utils를 만들어 사용하지요.
하지만 Commons-lang에서 제공하는 StringUtils를 사용한다면 더이상 자신만의 Utils를 사용할 필요가 없습니다. 여기 모두 ㄷ ㅏ ~ 있기 때문이지요 ^^
한가지 더 장점이 있다면 String의 null 값때문에 더이상 NullPointerException을 생각하지 않아도 된다는 것입니다. StringUtils에서 ㄷ ㅏ ~ 알아서 해주기 때문입니다.
그럼 어떠한 기능들의 함수가 있는지 알아봅시다
반환값 함수명 파라미터
String abbreviate String str, int maxWidth
"…"를 포함한 지정한 사이즈로 문자열을 축소한다 maxWidth은 4보다 커야한다
String abbreviate String str, int offset, int maxWidth
"…"를 포함한 지정한 사이즈로 문자열을 앞/뒤로 축소한다 offset은 7보다 커야한다
String capitalise String str
deprecated
String capitaliseAllWords String str
deprecated
String capitalize String str
문자열중 첫번째 문자를 대문자로 만든다
String center String str, int size
str의 길이가 size가 되도록 문자열 좌우에 공백문자를 하나씩 추가한다 (우측부터 시작한다)
String center String str, int size, char padChar
str의 길이가 size가 되도록 문자열 좌우에 padChar를 하나씩 추가한다 (우측부터 시작한다)
String center String str, int size, String padStr
str의 길이가 size가 되도록 문자열 좌우에 padStr을 하나씩 추가한다 (우측부터 시작한다)
String chomp String str
문자열 맨 끝에있는 'n' , 'r', 'rn'을 제거한다
String chomp String str, String separator
문자열 맨 끝에 separator가 있으면 이를 제거한다
String chompLast String str
deprecated
String chompLast String str, String sep
deprecated
String chop String str
문자열 맨 끝에있는 문자 하나를 제거한다
String chopNewline String str
deprecated
String clean String str
deprecated
String concatenate Object array[]
deprecated
boolean contains String str, char searchChar
str이 searchChar를 포함하고 있으면 true
boolean contains String str, String searchStr
str이 searchStr을 포함하고 있으면 true
boolean containsNone String str, char invalidChars[]
str이 invalidChars의 각 문자를 모두 포함하고 있지 않으면 true
boolean containsNone String str, String invalidChars
str이 invalidChars를 모두 포함하고 있지 않으면 true
boolean containsOnly String str, char valid[]
str이 valid의 각 문자들만 포함하고 있어야 true
boolean containsOnly String str, String validChars
str이 validChars 들만을 포함하고 있어야 true
int countMatches String str, String sub
str중에 sub가 포함되어있는 갯수를 반환한다
String defaultString String str
str이 null이면 ""를 반환하고 아니면 str을 반환한다
String defaultString String str, String defaultStr
str이 null이면 defaultStr을 반환하고 아니면 str을 반환한다
String deleteSpaces String str
deprecated
String deleteWhitespace String str
문자열중 공백문자가 있으면 모두 제거한다
String difference String str1, String str2
str1과 str2를 비교하여 다른부분을 반환한다 (str2의 부분을 반환)
boolean equals String str1, String str2
str1이 null이면 str2가 null인지 유무를 반환하고 str1이 null이 아니면 str1과 str2의 equals를 반환
boolean equalsIgnoreCase String str1, String str2
equals와 동일하며 대소문자를 무시하고 비교한다
String escape String str
deprecated
String getChomp String str, String sep
deprecated
String getNestedString String str, String tag
deprecated
String getNestedString String str, String open, String close
deprecated
String getPrechomp String str, String sep
deprecated
int indexOf String str, char searchChar
str에서 첫번째 searchChar의 인덱스를 반환한다
int indexOf String str, char searchChar, int startPos
str의 startPos 인덱스부터 첫번째 searchChar의 인덱스를 반환한다
int indexOf String str, String searchStr
str에서 첫번째 searchStr의 인덱스를 반환한다
int indexOf String str, String searchStr, int startPos
str의 startPos 인덱스로부터 첫번째 searchStr의 인덱스를 반환한다
int indexOfAny String str, char searchChars[]
str에서 searchChars중 포함하고 있는 문자의 첫번째 인덱스를 반환한다
int indexOfAny String str String searchChars
str에서 searchChars중 포함하고 있는 문자열의 첫번째 인덱스를 반환한다
int indexOfAny String str, String searchStrs[]
str에서 searchStr중 포함하고 잇는 문자열의 첫번째 인덱스를 반환한다
int indexOfAnyBut String str char searchChars[]
str에서 searchChars중 포함되지 않은 문자 첫번째 인덱스를 반환한다
int indexOfAnyBut String str, String searchChars
str에서 searchChars중 포함되지 않은 문자 첫번째 인덱스를 반환한다
int indexOfDifference String str1, String str2
str1과 str2를 비교하여 문자열이 틀려지기 시작하는 인덱스를 반환한다
boolean isAlpha String str
문자열이 모두 Character.isLetter 이면 true (모두 문자이면 true)
boolean isAlphanumeric String str
문자열이 모두 Character.isLetterOrDigit 이면 true (문자거나 숫자이면 true)
boolean isAlphanumericSpace String str
문자열이 모두 Character.isLetterOrDigit 이거나 공백이면 true
boolean isAlphaSpace String str
문자열이 모두 Character.isLetter 이거나 공백문자이면 true
boolean isBlank String str
문자열이 공백문자이거나 길이가 0이거나 null인경우 true
boolean isEmpty String str
문자열이 길이가 0이거나 null인경우 true
boolean isNotBlank String str
문자열이 공백문자도 아니고 길이가 0도 아니고 null도 아니면 true
boolean isNotEmpty String str
문자열이 길이가 0이 아니고 null도 아니면 true
boolean isNumeric String str
문자열이 모두 Character.isDigit 이면 true (모두 숫자이면 true)
boolean isNumericSpace String str
문자열이 모두 Character.isDigit 이거나 공백문자이면 true
boolean isWhitespace String str
문자열이 모두 Character.isWhitespace 이면 true (모두 공백이면 true)
String join Object array[]
array에서 문자열을 읽어와 모두 연결시킨다
String join Object array[], char separator
array에서 문자열을 읽어와 separator를 구분자로 연결시킨다
String join Object array[], String separator
array에서 문자열을 읽어와 separator를 구분자로 연결시킨다
String join Iterator iterator, char separator
iterator에서 문자열을 읽어와 separator를 구분자로 연결시킨다
String join Iterator iterator, String separator
iterator에서 문자열을 읽어와 separator를 구분자로 연결시킨다
int lastIndexOf String str, char searchChar
str에서 마지막 searchChar의 인덱스를 반환한다
int lastIndexOf String str, char searchChar, int startPos
str의 startPos 인덱스부터 마지막 searchChar의 인덱스를 반환한다
int lastIndexOf String str, String searchStr
str에서 마지막 searchStr의 인덱스를 반환한다
int lastIndexOf String str, String searchStr, int startPos
str의 startPos 인덱스부터 마지막 searchStr의 인덱스를 반환한다
int lastIndexOfAny String str, String searchStrs[]
str에서 searchStr의 문자열들중 포함하고 있는 문자열의 마지막 인덱스를 반환한다
String left String str, int len
str의 좌측에서 len 길이만큼 문자열을 구한다
String leftPad String str, int size
str의 길이가 size가 되도록 문자열 왼쪽에 ' '을 추가한다
String leftPad String str, int size, char padChar
str의 길이가 size가 되도록 문자열 왼쪽에 padChar를 추가한다
String leftPad String str, int size, String padStr
str의 길이가 size가 되도록 문자열 왼쪽에 padStr을 추가한다
String lowerCase String str
str을 소문자로 변환한다
String mid String str, int pos, int len
str의 pos 인덱스부터 len 길이만큼의 문자열을 구한다
String overlay String str, String overlay, int start, int end
str의 start부터 end까지overlay로 변환한다
String overlayString String text, String overlay, int start, int end
deprecated
String prechomp String str, String sep
deprecated
String repeat String str, int repeat
str을 repeat만큼 반복하여 반환한다
String replace String text, String repl, String width
text에서 모든 repl을 width로 변환한다
String replace String text, String repl, String width, int max
text에서 모든 repl을 width로 변환하는데 최대 max개만큼 변환한다
String replaceChars String str, char searchChar, char replaceChar
str에서 searchChar를 replaceChar로 모두 변환한다
String replaceChars String str, String searchChars, String replaceChars
str에서 searchChars를 replaceChars로 모두 변환한다
String replaceOne String text, String repl, String width
text에서 repl를 width로 변환하는데 첫번째 하나만 변환한다
String reverse String str
문자열을 앞뒤 순서를 바꾼다
String reverseDelimited String str, char separatorChar
separatorChar를 구분으로 문자열을 나눈 후 나눠진 단어들을 역순으로 바꾼다
String reverseDelimitedString String str, String separatorChars
deprecated
String right String str, int len
str의 len길이만큼 우측에서 문자열을 구한다
String rightPad String str, int size
str의 길이가 size가 되도록 문자열 오른쪽에 ' '을 추가한다
String rightPad String str, int size, char padChar
str의 길이가 size가 되도록 문자열 오른쪽에 padChar를 추가한다
String rightPad String str, int size, String padStr
str의 길이가 size가 되도록 문자열 오른쪽에 padStr을 추가한다
String[] split String str
공백문자를 구분자로 사용하여 분리한다
String[] split String str, char separatorChar
separatorChar를 구분자로 사용하여 분리한다
String[] split String str, String separatorChars
separatorChars를 구분자로 사용하여 분리한다
String[] split String str, String seperatorChars, int max
separatorChars를 구분자로 사용하여 분리한며 최대 max개 만큼한다. 배열의 크기는 max가 된다
String strip String str
문자열 좌우에 있는 공백문자를 제거한다 trim과 동일하다
String strip String str, String stripChars
문자열 좌우에 stripChars에 존재하는 문자를 제거한다
String[] stripAll String strs[]
배열에 있는 모든 문자열 좌우에 있는 공백문자를 제거한다
String[] stripAll String strs[], String stripChars
배열에 있는 모든 문자열 좌우에 stripChars에 존재하는 문자를 제거한다
String stripEnd String str, String stripChars
문자열 우측에만 strip 한다
String stripStart String str, String stripChars
문자열 좌측에만 strip 한다
String stripToEmpty String str
str이 null이면 ""를 반환하고 아니면 strip 한다
String stripToNull String str
str이 null이면 null을 반환하고 아니면 strip 한다
String substring String str, int start
str의 start 인덱스부터 문자열을 구한다
String substring String str, int start, int end
str의 start 부터 end 인덱스 까지 문자열을 구한다
String substringAfter String str, String separator
str의 처음 separator 부분부터 문자열을 구한다
String substringAfterLast String str, String separator
str의 마지막 separator부분부터 문자열을 구한다
String substringBefore String str, String separator
str의 처음 separator 부분까지 문자열을 구한다
String substringBeforeLast String str, String separator
str의 마지막 separator부분까지 문자열을 구한다
String substringBetween String str, String tag
str에서 tag 사이에 있는 문자열을 구한다
String substringBetween String str, String open, String close
str에서 open부터 close 까지 사이에 있는 문자열을 구한다
String swapCase String str
대문자는 소문자로 변환하고 소문자는 대문자로 변환한다
String trimToNull String str
str이 null이거나 length가 0이면 null을 반환하고 그렇지 않으면 좌우 공백문자를 제거한다
String trim String str
문자열 좌우 공백문자를 제거한다
String trimToEmpty String str
str이 null이면 ""를 반환하고 그렇지 않으면 좌우 공백문자를 제거한다
String uncapitalise String str
deprecated
String uncapitalize String str
문자열의 첫문자를 소문자로 변환한다
String upperCase String str
str을 대문자로 변환한다
사용법
모두 static 함수이기때문에 다음과 같이 사용하면 됩니다.
String text = StringUtils.replace(str, repl, width);
자료만들면서 정리한 엑셀 첨부 합니다 ^^
=============================================
본문서는 자유롭게 배포/복사 할수 있지만
이문서의 저자에 대한 언급을 삭제하시면 안됩니다
저자 : GoodBug (unicorn@jakartaproject.com)
=============================================

'Program > Java' 카테고리의 다른 글

Annotation (since tiger / 1.5)  (0) 2009.12.27
About JAXB  (0) 2009.12.27
Annotation (since tiger / 1.5)  (0) 2009.12.15
XML 파싱  (0) 2009.12.15
아파치 미나  (0) 2009.12.15

WML - 기본 Tag

Tag

Attribute

사용 설명

선언문

【설명】

폰으로 접근한 WML deck(파일)은 유효한 XML 문서를 의미함

<wml>

</wml>

【설명】

하나의 deck를 정의하는 태그

xml:lang=""

WML문서에서 사용되는 공식 언어를 표시함

ㆍ영어 : xml:lang="en-us"

<head>

</head>

【설명】

head 요소는 전체적으로 deck와 관련된 정보를 포함하고 있음.

<access/> 태그와 <meta/> 태그 정보를 포함하며, <access/>태그는 한 번만 사용 가능하고, <meta/> 태그는 두 번 이상도 사용할 수 있음

<meta>

【설명】

WML deck에 메타(meta) 정보를 제공하며, deck에 대한 접근 권한 정보와 함께 <head> 내에 표시됨

property

【속성】

왼쪽의 2가지 속성 중에서 하나를 사용

http- equiv=""

프라퍼티가 http 헤더로 해석될 수 있어야 하며 다음과 같이 사용함(http-equiv="Cache-Control")

name=""

프라퍼티의 이름

forua=“”

true/false 중 선택

content=""

property 속성과 관련된 메타 데이터의 값을 표시(기본 30일) → content="max-age=0"으로 선언되면 캐시되지 않음

scheme=""

프라퍼티의 값을 해석하는데 사용되는 폼이나 구조

<access/>

【설명】

WML덱에 대한 접근 권한 정보를 표시하며 <head>내에 표시

domain=""

deck에 접근 가능항 도메인 표시,

기본값은 해당 WML deck이 포함된 URL

path=""

deck 내의 card에 접근할 수 있는 디렉토리 루트를 표시

(기본값=“/”

<template>

</template>

【설명】

WML deck 전체에 영향을 미치는 동작을 정의하며, 카드에서 정의되는 동작이 우선시 됨. WML deck에서 Template 태그는 한번만 사용함

onenterforward="URL"

<go>라는 task 태그를 이용하여 WML deck로 이동해 왔을 때, card의 내용(contents)를 보여주기 전에 onenterforward속성에서 지정한 주소로 이동하는 이벤트 발생

onenterbackward="URL"

<prev>라는 task 태그를 이용하여 WML deck로 이동해 왔을 때, card의 내용(contents)를 보여주기 전에 onenterbackward속성에서 지정한 주소로 이동하는 이벤트 발생

ontimer="URL"

<timer>태그와 함께 사용되며, timer에서 지정한 시간이 지난 후 ontimer 속성에서 지정한 주소로 이동하는 이벤트 발생(카드의 내용을 지정된 시간만큼 보여줌)

<card>

</card>

【설명】

사용자에게 보여지는 하나의 화면을 구성하여, LCD의 세로범위를 벗어나는 경우는 상,하 이동버튼으로 스크롤 됨

id=""

카드명으로 카드간의 이동 시 기준이 되는 링크 이름(#id)

ㆍID는 대소문자를 구분(링크 시 주의)

ㆍ한글 사용 불가(영문/숫자 조합 사용)

ㆍ공백(space)이 있어서는 안됨

title=""

카드에 대한 간략한 설명으로서, SK-WML에서는 LCD의 맨 윗부분에 표시되며, UP-WML에서는 무시되고 표시되지 않음

newcontext=

"true/false"

<go> 태그를 이용하여 해당 카드로 이동해 올 경우 카드 내용의 초기화 여부를 설정함(기본값=false)

ㆍtrue : 메모리에 저장된 history stack 및 변수값을 삭제

        (단, deck에서 request 받은 변수값은 유효함)

ㆍfalse : 메모리에 저장된 정보를 삭제하지 않음

ordered= "true/false"

카드 내용의 구성에 관한 정의(기본값=false)

ㆍordered="True" : 순서대로 카드 내용을 보여줌

ㆍordered="false" : 사용자가 카드 내용을 선택하여 봄

SK-WML에서는 ordered 속성이 무시됨

onenterforward=""

<go> 태그를 이용하여 해당 카드로 왔을 때 이동항 URL을 설정하며, <templste>의 onenterforward 속성과 동일한 동작을 함(onevent 태그에도 onenterforward 속성이 있으며, 이와 동일한 동작을 함

onenterbackward=""

<prev> 태그를 이용하여 해당 카드로 왔을 때 이동항 URL을 설정하며, <templste>의 onenterbackward 속성과 동일한 동작을 함(onevent 태그에도 onenterbackward 속성이 있으며, 이와 동일한 동작을 함

ontimer=""

<timer>태그와 함께 사용되며, timer에서 설정한 시간이 종료되었을 경우에 이동할 URL을 표시함. <template>의 ontimer 속성과 동일한 동작을 함(onevent 태그에도 timer 속성이 있으며, 동일한 동작을 함)


WML - 문자 및 문장 관련 Tag

Tag

Attribute

사용 설명

<p>

</p>

【설명】

한 문단을 표시하며, 카드 내에 여러 개의 <p>태그가 올 수 있으나, <p>태그 내에는 <p>태그가 올 수 없음

align

문단 정렬 속성(left/right/center)

mode= "wrap/nowrap"

화면에 한 줄을 출력할 때 한 줄의 글자수가 한 라인에 표시될 수 있는 가로 크기보다 길 때, 수평으로 스크롤 할 것인지 스크롤 없이 다음 줄에 연결하여 출력할 것인지를 설정함

-wrap : no scroll

-nowrap : scroll

<br/>

【설명】

줄바꿈

<em>

</em>

【설명】

텍스트를 강조하여 표시하는데 사용됨

<strong>

</strong>

【설명】

텍스트를 특히 강조(IM-1200에서는 표시 안됨)

<b>

</b>

【설명】

텍스트를 두꺼운 글씨로 표시

<i>

</i>

【설명】

이탤릭체로 표시

<u>

</u>

【설명】

텍스트에 밑줄을 그어 표시

<big>

</big>

【설명】

텍스트를 큰 글씨로 표시

<small>

</small>

【설명】

텍스트를 작은 글씨로 표시

<fieldset>

</fieldset>

【설명】

여러 개의 텍스트와 입력 아이템을 몇 개의 그룹으로 묶는다. 한 카드에 보여주기에 많은 양의 텍스트나 입력 아이템을 나타내는데 적당하며, <fieldset>태그 내에는 일반 텍스트, <fieldset>, <select>, <input> 태그들이 올 수 있음

title=""

함께 묶인 그룹 명


WML - 리스트(list)관련 Tag

- WML1.1 버전은 HTML 계열에서 지원하는 <li>, <ul>과 같은 리스트 관련 Tag를 지원하지 않는다.


WML - 표(table) 관련 Tag

Tag

Attribute

사용 설명

<table>

</table>

【설명】

표를 만들 경우에 사용하며, HTML의 table 태그와 달리 column의 간격 등을 지정할 수는 없음

ㆍSK-WML에서는 테이블의 라인이 표시되나, UP-WML에서는 표시되지 않음

title=""

table명

align=""

표 내에 입력되는 내용의 정렬 방식(left/right/center)

columns=""

열의 개수, 최소 한 개 이상의 열을 표시해야 함

<tr>

【설명】

<table></table> 사이에 두어 1행을 구성함. 복수개 사용

<td>

【설명】

<tr></tr> 사이에 두어 1행을 구성함. 복수개 사용


WML - 링크(link) 관련 Tag

Tag

Attribute

사용 설명

<a>

</a>

【설명】

하이퍼링크(Hyperlink) 설정 태그

href=""

링크될 목적지 주소 입력

title=""

[선택], [전화], [확인]과 같이 링크에 대한 라벨(lable)로 기능키 영역에 표시됨

accesskey=""

링크를 휴대폰의 숫자 버튼으로 실행하도록 설정(1~9)

+ㆍUP-WML 전용의 속성

<anchor>

</anchor>

【설명】

하이퍼링크(Hyperlink) 설정 태그로서 <a>태그와 용도가 유서하며, <go>, <prev>, <refresh>, <noop>와 같은 task 태그와 쌍을 이룸

title=""

[선택], [전화], [확인]과 같이 링크에 대한 라벨(lable)로 기능키 영역에 표시됨

accesskey=""

링크를 휴대폰의 숫자 버튼으로 실행하도록 설정(1~9)

ㆍUP-WML 전용의 속성

<do>

</do>

【설명】

<a>태그와 마찬가지로 림크 태그 설정을 한다. 단, do 태그는 기능키(function key)를 정의할 수 있음

ㆍ기능키란 휴대폰 브라우저 화면의 아래쪽 왼쪽과 오른쪽에 표시되는 링크를 기능키라고 한다. 보통 왼쪽 기능키를“어셈트키”, 오른쪽 기능키를 “소프트키”라고 한다.

ㆍtask는 <go>, <prev>, <noop>, <refresh>가 있다. 사용자가 type 속성에서 지정한 버튼을 눌렀을 때 수행하는 task를 나타낸다.

type=

【설명】

설정한 type에 따라서 <do>태그를 이용한 링크가 브라우저의 특정한 위치 또는 형태로 표시되도록 설정하며, 이동이나 전화걸기와 같은 동작은 <go>, <prev>, <noop>, <refresh>와 같은 task태그에 의해서 결정됨

"accept"

<do type="accept" lable="쇼핑몰“>

<go href="shop.wml“>

</do>

ㆍUP-WML에서  속성은 기능키 영역의 왼쪽에 표시됨(폰에 따라서 오른쪽에 표시될 수도 있음)

ㆍSK-WML에서 accept 속성을 사용하면 화면상에 표시됨

“options"

<do type="options" lable="이전“>

<go href="index.wml“>

</do>

ㆍUP-WML에서 options 속성은 기능키 영역의 accept 반대쪽에 표시됨(폰에 따라서 오른쪽에 표시될 수도 있음)

ㆍSK-WML에서 options 속성을 사용하면 화면상에 표시됨

“delete"

<do type="delete" lable="이전“>

<go href="index.wml“>

</do>

ㆍUP-WML에서 delete 속성은 기능키 영역의 accept 반대쪽에 표시됨(폰에 따라서 오른쪽에 표시될 수도 있음)

ㆍSK-WML에서 delete 속성을 사용하면 화면상에 표시됨

"prev"

<do type="prev" lable="이전“>

<go href="index.wml“>

</do>

ㆍUP-WML에서 prev 속성은 [back]버튼을 누르는 경우, 쌍을 이룬 task 태그의 설정에 따라서 동작함. 즉, 화면상에는 표시되지 않음

ㆍSK-WML에서 prev 속성을 사용하면 화면상에 표시됨

"vnd.skmn1~9"

<do type=""vnd.skmn1" lable="쇼핑몰“>

<go href="shop.wml“>

</do>

ㆍSK-WML 전용의 속성으로 UP-WML에서는 사용하지 않음. <do>태그를 이용하여 휴대폰의 숫자버튼과 매칭시키는 링크를 만듬

“vnd.up"

<do type=""vnd.up" lable="상위“>

<go href="index.wml“>

</do>

ㆍUP-WML에서 vnd.up 속성은 기능키 영역의 accept 반대쪽에 표시됨

ㆍSK-WML에서 vnd,up 속성은 [상위] 전용 버튼을 만들어준다. 이 속성을 사용한 경우에만 [상위] 버튼이 기능키 영역에 나타남

“vnd.next"

<do type=""vnd.next" lable="방문하기“>

<go href="main.wml“>

</do>

ㆍUP-WML에서 vnd.up 속성은 기능키 영역의 accept 반대쪽에 표시됨

ㆍSK-WML에서 vnd.next 속성을 사용하면 화면상에 표시됨

"vnd.prev"

<do type=""vnd.prev" lable="이전“>

<go href="index.wml“>

</do>

ㆍUP-WML에서 vnd.prev 속성은 기능키 영역의 accept 반대쪽에 표시됨

ㆍSK-WML에서 vnd.prev 속성을 사용하면 화면상에 표시됨

"vnd.call"

<do type=""vnd.call" lable="문의전화“>

<go href="wati//wp/mc;021234567"/>

</do>

ㆍUP-WML에서 vnd.call 속성은 기능키 영역의 accept 반대쪽에 표시됨

ㆍSK-WML에서 vnd.call 속성을 사용하면 화면상에 표시됨

lable=""

링크의 이름을 표시함

ㆍUP-WML : 라벨의 길이가 한글 3~4글자를 넘지않도록 함

ㆍSK-WML : 라벨의 길이에 제한 없음. 단 vnd.up를 사용한 경우는 lable에서 설정한 링크명이 나타나지 않고 무조건 [상위]로 표시됨

name=""

<do> 태그의 고유한 이름을 설정

ㆍ동일한 card 내에서 같은 type 속성을 2개 이상 사용할 경우, name 값을 달리하여 구분. name 값을 달리 설정하지 않고 갚은 type을 사용한 경우 첫 번째 type만 유효하고 그 외의 것은 무시됨

ㆍ동일한 card 내에서 같은 type 속성이 다르더라도 name의 값은 다르게 설정하여야 함. name 이 동일한 경우 해당 <do> 태그들은 모두 무시됨

optional= "true/false"

브라우저가 <do> 태그를 무시할 수 있는지 여부를 나타내며, 기본값은 “false"임

ㆍUP-WML : 정상적으로 동작함

ㆍSK-WML : 폰에서 무시됨

<go>

</go> or <go>

【설명】

버튼이 실행되었을 때 설정된 주소 이동 또는 전화 걸기 동작 설정

href="http://"

href="wati://wp/ mc;"

이동할 목적지 주소 또는 폰번호

sendreferer= "true/false"

URL을 요구할 때 WML deck의 URL을 포함할지 여부를 나타내며 기본값은 False임. sendrefere=“true"는 HTTP-REFERER 헤더에 deck의 상대 URL을 설정함

method= "get/post"

변수값 전달 방식이며 기본값은 “get"임

accept- charset=""

사용하는 문자셋

예) 영어=“en-us"/한글=”ks_c_5601-1987")

<prev>

</prev>

<prev/>

이전으로 돌아가기 동작 수행(휴대폰의 [이전] 버튼 수행)

<refresh>

</refresh>

【설명】

현재의 deck를 refresh하는 동작을 하며, <setvar>와 함께 사용하여 변수의 값을 재설정할 수 있음

<noop/>

【설명】

아무런 동작도 수행하지 않도록 설정하는 task

ㆍUP-WML : 정상적으로 동작함

ㆍSK-WML : 폰 기종에 따라서 정상 동작하지 않고 무시됨

<onevent>

</onevent>

【설명】

<onevent>의 type 속성에 따라 이벤트가 발생을 하도록 설정하며, 실제 동작의 형태는 <go>, <prev>, <noop>, <refresh> task 태그로 지정을 함. <option>과 쌍을 이루어 <onevent type="onpick">인 경우를 제외하고는 <p>태그 내에 사용될 수 없음

type="ontimer"

타이머가 종료될 때 onevent가 수행되며, <p> 태그 내에는 위치하지 못함

type="onpick"

사용자가 <option>의 아이템을 선택할 때 이벤트가 발생하며, <option> 태그와 함께는 <p>내에 위치함. 즉 <option> 태그는 아이템을 select 또는 deselect하는 경우에 사용하나, <option>에 <onevent> 태그를 사용하여 사용자의 선택과 동시에 “이동”하는 이벤트(go, prev, refresh, noop)를 발생함

type= "onenterforward"

<go>라는 task 태그를 이용하여 WML deck로 이동해 왔을 때, card의 내용(contents)를 보여주기 전에 onenterforward속성에서 지정한 주소로 이동하는 이벤트 발생

type= "onenterbackward"

<prev>라는 task 태그를 이용하여 WML deck로 이동해 왔을 때, card의 내용(contents)를 보여주기 전에 onenterbackward속성에서 지정한 주소로 이동하는 이벤트 발생

<timer/>

【설명】

타이머의 시간을 설정, 일정한 시간이 지나면 자동적으로 task를 실행하도록 하는 태그

name=""

타이머의 값을 저장할 변수

value=""

변수에 설정한 시간값으로 1/10초 단위로 표시


WML - 폼(form) 관련 Tag

Tag

Attribute

사용 설명

<form>

</form>

 

HTML의 <FORM ACTION="cgi-bin.뭋.cgi" METHOD="get">에서 변수를 넘겨주는 것이 아니라, <go> tag를 이용함

<input/>

【설명】

사용자로부터 입력을 받음

name=""

입력받은 텍스트를 저장할 변수

type=

"text"

입력받는 텍스트를 그대로 보여주는 경우에 설정

"password"

입력받는 택스트를 *로 변환하여 보여주는 경우에 설정

"phonenum"

ㆍUP-WML 전용 속성으로 숫자 입력 모드를 default로 설정하며 format 속성이 무시됨. 단, 숫자뿐 아니라 다른 문자도 입력이 가능한 점이 format="N"과 다른 점임

value=""

name 변수의 기본값(기본값을 설정하지 않는 경우, 사용하지 않음)

format=""

사용자가 입력하는 텍스트의 양식(설정하지 않는 경우, 미사용)

ㆍUP-WML : 일치하지 않는 경우 기본값이 나타나지 않음

ㆍSK-WML : 일치하지 않더라도 기본값이 표시됨

emptyok="true"

사용자의 입력을 받지 않고도 다음으로 넘어갈 수 있도록 설정(guest ID로 로그온 시 사용)

emptyok="false"

사용자의 입력이 필수로 설정(여러 개의 입력 중에서 1개라도 false인 경우 입력하지 않으면 “입력확인”이 되지 않음

size=""

입력 글자 수 제한(UP 시뮬레이터와 휴대폰 모두 지원 안함)

maxlength=""

사용자가 입력할 수 있는 최대 문자 수(기본적으로 256byte가 최대)

ㆍ한글은 완성문자가 1문자에 해당하고, 영문/숫자 등은 one character를 1의 문자로 적용됨

tabindex=""

input 엘리먼트의 탭(tab) 위치로서, input 엘리먼트가 통과하는 상대적인 순서(UP-WML, SK-WML 모두 지원 안됨)

title=""

입력 엘리먼트의 타이틀

ㆍUP-WML : 휴대폰에서 무시됨

ㆍSK-WML : 초기모델은 무시되며 최신모델은 정상 동작함

accesskey="1~9"

UP-WML 전용 스펙으로 guide에서는 명시되어 있으나 폰에서 지원되지 않음. UP-WML에서 사용시 에러는 발생하지 않으나 SK-WML에서 사용시 에러 발생함

<postfield/>

【설명】

<go> task 태그의 동작시 post 방식으로 서버에 넘겨줄 변수와 변수값 정의

name=""

변수명

value=""

변수값

<setvar/>

【설명】

<go>, <prev>, ,refresh> 태그를 사용한 task를 수행할 때 변수(variables)에 변수값을 설정

name=""

변수명

value=""

변수값

<select>

</select>

【설명】

여러 선택 리스트 중에 하나 또는 이상을 선택할 수 있도록 동작하며, Nate 지원 휴대폰과 ez-i 지원 휴대폰의 UI가 매우 다르므로 꼭 휴대폰으로 확인하여야 함

title=""

<select> 태그의 타이틀

ㆍUP-WML : 휴대폰에서 무시함

ㆍSK-WML : 휴대폰에서 정상적으로 표시됨

name=""

사용자가 옵션을 선택했을 때 옵션(option)에 지정된 값(value)을 저장하는 변수

values=""

Name 변수에 사용될 기본값을 표시

iname=""

인덱스를 저장하는 변수로서 value가 아닌 ivalue를 저장함

ivalue=""

iname 변수로서 기본값으로 사용(1:2)

multiple=""

여러 개의 옵션 선택이 가능하도록(true/false) 설정하며 기본은 flase임

tabindex=""

select 엘리먼트의 탬(tab) 위치로서, 여러 개의 select 엘리먼트를 보여주는 상대적인 순서(SK-WML, UP-WML 모두 지원 안됨)

<option>

</option>

【설명】

<select> 태그 내에서 선택할 몹션(option)을 표시

 

value=""

옵션을 선택 시 <select> 태그의 name 변수에 저장될 값을 표시

title=""

<option>의 lable

onpick=""

옵션이 선택되면 이동할 URL, <onevent> 태그를 사용하지 않고 이벤트 처리 가능

<optgroup>

</optgroup>

【설명】

여러 개의 옵션을 하나의 그룹으로 묶음. 즉, 그룹을 분류해 주는 기능만을 함. <select> 태그 사이에는 일반적인 text 삽입이 ehl지 않기 때문임

title=""

옵션 그룹명

ㆍUP-WML : 타이틀 속성이 무시됨

ㆍSK-WML : 정상적으로 표시됨


WML - 이미지(image) 관련 Tag

Tag

Attribute

사용 설명

<img/>

【설명】

브라우저상에 이미지를 표시하는 태그

alt=""

이미지를 표시하지 못할 경우에 대시 출력되는 문자열로서 꼭 사용하여야 함(alt="" 같이 문자열을 넣지 않더라도 꼭 사용)

src=""

표시할 이미지가 위치한 주소(만약 localsrc 속성이 유효하면 무시됨)

localsrc=""

"rainy"와 같이 기본적으로 사용되는 아이콘명을 입력하면 되며, device의 ROM에 이미지가 없는 경우 UP.Link Server를 참조하여 이미지를 보여줌

align=""

이미지의 위치(top.middle/bottom)

 


'Program' 카테고리의 다른 글

Marshall  (0) 2009.12.27
아스키(ASCII) 코드 표  (0) 2009.12.22
input tag  (0) 2009.12.16
[마틴파울러]Refactoring에서 나온 관련 좋은 문구  (0) 2009.12.15

input> 태그는 문자열을 입력 받거나 출력하는 경우에 사용되는 경우에 사용되는 태그입니다. <input> 태그의 형식은 다음과 같습니다. 그리고 UP-WML의 경우는 SK-WML의 <input> 태그와
속성의 용법은 거의 동일
합니다. 

<input type="" name="이름" format="입력문자형식" value="초기값" emptyok="boolean"
  maxlength="최대길이" size="크기"/> 

텍스트 입력 양식 태그의 속성에 따른 설명은 다음과 같습니다. 

name="" 입력 받은 텍스트를 저장할 변수

type= "text" 입력하는 텍스트를 그대로 보여주도록 설정
"password" 입력하는 텍스트를 * 형태로 변환하여 보여주도록 설정
value="" name변수의 기본값(기본값을 설정하지 않으면 태그 내에
사용하지 않도록 한다.)[알아두기] format과 value의 속성값이
일치하지 않는 경우
☞ SK-WML : 두개의 포맷이 일치하지 않더라도 기본값은 표시됨
☞ UP-WML : 일치하지 않는 경우 기본값이 나타나지 않는다.
format="" 사용자가 입력하는 텍스트 문자의 형식(type)과 입력 받을 문자
개수 설정
포맷 스펙상 설명 휴대폰(E.O.F) 실 예
A 기호,영문 대문자(숫자 안됨) 영대
a 기호,영문 소문자(숫자 안됨) 영소
N 숫자(기호,영문 안됨)
오른쪽 예제2 에서 자동문자
추가 "-" 또한 maxlength에
포함됩니다.
예제1)휴대폰 번호
:NNNNNNNNNN*N
예제2)생년월일:
NNNN\-NN\-NN
X 기호,숫자,영문 대문자(영문
소문자 안됨)
한글,영대,기호
x 기호,숫자,영문소문자(영문
대문자 안됨)
한글,영소,기호
M 기호,숫자,영문 대문자(영문
소문자 안됨) 기본 첫 문자는
대문자
한글,영대소,기호,숫자
m 기호,숫자,영문 소문자(영문
대문자 안됨) 기본 첫문자는
소문자
한글,영대소,기호,숫자

☞ 휴대폰 별로 Format 속성을 따르는 것과 따르지 않는 것이
천차 만별이기에 숫자(N)가 아닌 경우에는 Format 속성을
사용하지 않는 것을 권함.
☞ 포맷 속성값을 주지 않는 경우 <input> 태그 내에 format="" 을
두지 않음.
☞ UP-WML로 개발시 format="x" 또는 format="X"는 사용하지
않는다. UP4.1 브라우저는 문제가 없으나, AUR Browser의
경우는 다른 문자
입력이 불가능 하게 된다. 이는 브라우저의 버그이지만 어쩔 수
없이 따라야 하는 것이 무선인터넷인듯 하다.
emptyok ="true" 사용자의 입력을 받지 않고도 다음으로 넘어갈 수 있도록 설정
(Guest ID로 로그온 시 사용하면 유용)
emptyok ="false" Format에서 지정한 문자 형태와 개수 만큼 사용자의 입력을 꼭
받도록 설정
size="" 입력 글자수 제한
[UP-WML, ,SK-WML 모두 지원하지 않는다]
maxlength="" 사용자가 입력할 수 있는 최대 문자 수이며, Format의 속성을
이용해서 문자 수 제한이 가능하다. 숫자 4개 입력 설정은 format에
"4N" 또는 "NNNN"으로 설정한다. 제한을 두지 않는 경우는
"*N"("N*"은 안됨)과 같이 사용한다.Format에서 제한을 하지 않은
경우, maxlength를 지정하여 입력 최대 문자수 제한이 가능하다.
☞알아두기 : 한글은 완성문자가 한 문자로 인식되고, 영문/숫자
등은 one character를 하나의 문자로 인식한다.
tabindex="" 여러 개의 <input>태그 사이의 상대적인 순서
(SK-WML, UP-WML 동작 안 함)
title="" 현재 사용자 입력에 대한 타이틀
예제) 아래의 예제는 휴대폰 화면에 다음과 같이 표시된다.
*ID를 입력해 주세요:<br/>
<input name="id" type="text" value="ME" emptyok= false"
title="ID 입력"/>
*ID를 입력해 주세요:ID 입력:[ME][입력] => => => => => =>Title 이 없는 경우 *ID를 입력해 주세요:[ME][입력]
☞알아두기 : 구형 휴대폰의 경우 title 속성이 표시되지 않는다.
accesskey="1~9" 숫자버튼으로 입력 항목을 선택할 수 있도록 설정
(휴대폰 지원 안됨)

 

<?xml version="1.0" encoding="KS_C_5601-1987"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="login">
<p>
휴대폰 번호: <br/>
<input type="text" name="phone_no" format="10N*N" value="01" emptyok="false"
maxlength="11"/>
</p>
</card>
</wml>

[출처] wml input tag|작성자 푸른숲


'Program' 카테고리의 다른 글

Marshall  (0) 2009.12.27
아스키(ASCII) 코드 표  (0) 2009.12.22
WML - 기본 Tag  (0) 2009.12.16
[마틴파울러]Refactoring에서 나온 관련 좋은 문구  (0) 2009.12.15
* Annotation
코드에 관한 데이터를 제공하며, 효용성으로는 문서화, 컴파일러 체크, 코드분석에서 사용한다.

annotation은 데코레이션, 클래스, 인터페이스, 필드에 적용되어 툴과 라이브러리를 활용할 수 있게 함으로써, 코드에 명시적 프로그래밍을 줄이고 좀 더 많은 선언문을 제공한다.   annotation은 프로그램의 의미적인 부분에 직접 영향을 주지 않고, 툴이 프로그램을 어떻게 다루어야 하는지에 알려준다. 툴이 실행 중인 프로그램의 의미적인 부분에 영향을 줄 수 있다.
annotation은 런타임에 소스 파일 또는 클래스 파일 등에서 읽을 수 있다. annotation은 javadoc 태그의 기능을 보안하고 있다. 마크업을 문서 생성시 필요한 정보를 제공하기 위해 사용하고자 할 경우, javadoc 태크 또는 annotation을 사용해야 한다. 일반적으로 어플리케이션 프로그래머는 annotation 타입을 정의하는 경우가 거의 없지만, annotation 타입을 정의하는작업은 어렵지 않다.

  1. 컴파일러가 에러를 탐지하거나 경고등을 무시하는 등등의 용도
  2. 컴파일 또는 설치시에 소프트웨어 도구가 코드, XML 파일 등을 처리하기 위한 용도
  3. 실행시 별도의 처리 루틴이 필요한 경우(실행 루틴 점검 등과 같은)


* Annotation의 종류
  Marker Annotation : 이름으로 구분하기 위하여 사용하며 추가적인 데이터를 필요하지 않음
  Single-Value Annotation : 간단한 신텍스를 사용하며 단일 데이터를 필요로 함
  Full Annotation : 복잡한 신텍스이며, 다중 데이터를 사용하며 name=value 형태를 취함
   --> 데이터가 Array 인 경우 "{ }"를 이용


* Annotation Type의 정의

  1. Annotation 타입 선언은 인터페이스를 선언하는 방법과 유사하다.
  2. Annotation 타입 선언 시에는 interface 키워드 앞에 @ 기호를 붙인다.
  3. 메소드는 파라메터를 가질 수 없다.
  4. 메소드는 throws 절을 가질 수 없다.
  5. 메소드의 리턴 타입 : 프리미티브(Primitive), String, Class, 열거형(Enum), annotation, 앞에서 열거한 타입들의 배열
  6. 메소드는 기본값(Default Value)를 가질 수 있다.


* 기본 Annotation
  @Deprecated : 더 이상 사용하지 말아야할 메소드를 알림 (비추천 메소드)
  @Documented
  @Retention(RetentionPolicy.RUNTIME)
  public @interface Deprecated {

   }

  @Override : 상위 요소를 오버라이드 할 것임을 알림
  @Target(ElementType.METHOD)
  @Retention(RetentionPolicy.SOURCE)
   public @interface Override {

   }


  @SuppressWarnings : 경고를 하지 않도록 억제 시킴
     - unchecked : 비확인
     - deprecate : 비사용


   @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
   @Retention(RetentionPolicy.SOURCE)
   public @interface SuppressWarnings {
       String[] value();
   }



* Built-in Annotation
  Target : Annotation의 대상을 무엇으로 할 것인지를 기록 (CONSTRUCTOR, FIELD, METHOD, PACKAGE, ...)
   - ANNOTATION_TYPE : annotation 타입(Annotation Type)선언
    - CONSTRUCTOR : 생성자 함수 선언
    - FIELD : 필드 선언(enum 상수 포함)
   - LOCAL_VARIABLE : 로컬 변수 선언
    - METHOD : 메소드 선언
    - PACKAGE : package 선언
    - PARAMETER : parameter 선언
    - TYPE : 클래스, 인터페이스 (annotation타입(AnnotationType)포함), enum선언


   @Documented
   @Retention(RetentionPolicy.RUNTIME)
   @Target(ElementType.ANNOTATION_TYPE)
   public @interface Target {
       ElementType[] value();
   }


  Retention : 어느 과정에서 Annotation을 사용할 것인지를 기록 (여러개의 값 중 선택 가능) (SOURCE, CLASS, RUNTIME)
   - SOURCE : 소스파일에서만 사용하며 컴파일 이후는 사용하지 않음
    - CLASS : 컴파일 과정까지 사용하며 Runtime에서는 사용하지 않음
    - RUNTIME : Runtime에서까지 사용함


   @Documented
   @Retention(RetentionPolicy.RUNTIME)
   @Target(ElementType.ANNOTATION_TYPE)
   public @interface Retention {
      RetentionPolicy value();
   }

  Documented : Javadoc에 포함(문서화)되어야 함을 알리는 Marker Annotation

   @Documented
   @Retention(RetentionPolicy.RUNTIME)
   @Target(ElementType.ANNOTATION_TYPE)
   public @interface Documented {
   }


  Inherited : 하위 클래스에 상속되어야 함을 알리는 Marker Annotation

   @Documented
   @Retention(RetentionPolicy.RUNTIME)
   @Target(ElementType.ANNOTATION_TYPE)
   public @interface Inherited {

   }



* Custom Annotation
  개발자가 정의하는 어노테이션으로 class 형태로 만들어진다. 어노테이션의 선언은 @interface 로 한다.
  이름 앞에 '@'문자가 오는 것 외에는 기본적으로 인터페이스를 선언하는 것과 동일(메소드들의 내용은 없고 형태만 선언)하다.
  default 가 찍히지 않은 메소드는 필수로 입력해야 한다

   @Retention(RetentionPolicy.RUNTIME)
   public @interface Maker {
       int num();
       String id();
       String name();
       String date() default "unsigned";
   }



   @Maker(num=1, id="dryang", name="junsun.yang")
   public class UseMaker {
        ...
   }

'Program > Java' 카테고리의 다른 글

About JAXB  (0) 2009.12.27
StringUtils  (0) 2009.12.22
XML 파싱  (0) 2009.12.15
아파치 미나  (0) 2009.12.15
Triple DES Java  (0) 2009.12.02

+ Recent posts