728x90

(이 글은 http://nanstrong.tistory.com 에서 잘 정리되어있어서 참고겸 가져왔습니다.)

 

요즘은 스프링이 설정된 이클립스 스프링 STS로 배포를 해서 편리하게 사용할 수 있지만.

바로 그런 설정된 것을 쓰기전에 한번 직접 설정해보는것도 나쁘지 않다는 생각이 든다.

이클립스에 Maven 플러그인을 설치하여 스프링을 연동해보자.

Maven은 쉽게 말해서 프로젝트를 관리해주는 프레임워크라고 생각하면 될꺼 같다.

그럼 메이븐을 받아서 설정하겠다.

http://maven.apache.org/download.cgi 에서 Maven을 다운받는다 최신 버전인 3.0.4버전으로 받겠다.




다운 받은 파일의 압축을 풀고 conf의 settings.xml의 아래부분의 주석을 풀어준다.



이제 환경변수를 설정한다.
MAVEN_HOME C:\apache-maven-3.0.4-bin\apache-maven-3.0.4
path %MAVEN_HOME%\bin

다음과 같이 환경변수 설정을하고

명령프롬프트 창에서 mvn --version이라는 명령어를 입력한다.
아래와 같이 나오면 정상적으로 설정이 된것이다.


이제 이클립스에 메이븐 플러그인을 설치해보자
설치 할 때 스샷을 찍어두지 못해서 글로만 남긴다.. 그리 어렵지 않다.

Help -> Install New Softwares...

Add 를 누르고 아래 URL을 입력하면 설치할 플러그인들이 나온다. 전부 설치하자.
http://m2eclipse.sonatype.org/sites/m2e

설치가 끝나면 이클립스를 재시작 한다.


하나더 남았다. 아래 URL을 입력하면 설치할 플러그인 들이 여러개 나온다
여러개 나오는데 이중에서 두개만 설치하면 된다.
http://m2eclipse.sonatype.org/sites/m2e-extras

설치할 플러그인

Maven Integration for Eclipse Extras
Maven Integration for Eclipse WTP

설치후 재시작한다.


이제 이클립스에 메이븐 프로젝트를 만들어서 스프링 라이브러리를 연동해보자.

이클립스의 Preferences로 가면 Maven이라는 메뉴가 보일것이다.
들어가서 User Settings를 클릭하면 아래의 창이 뜬다.
User Settings에 아까 설정한 settings.xml의 경로를 지정해준다.
그러면 아래의 maven폴더가 지정되어 있는것을 확인할 수 있다.




메이븐 프로젝트를 생성해보자
New Project를 선택하면 Maven프로젝트가 있다.
선택후 Next를 누르자




아래와 같이 체크를 하고 넘어가자.




Group Id와 Artifact Id를 입력하고 피니쉬를 누르자.
Artifact Id가 프로젝트 명이 된다.



아래와같이 프로젝트가 생성되었다.



이제

스프링MVC를 다운로드 해보자.
porm.xml에 아래의 depndencies를 입력하고 저장하면 자동으로 spring mvc라이브러리가 설정되는것을 확인할 수 있다.

<dependencies>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-webmvc</artifactId>

<version>3.0.1.RELEASE</version>

</dependency>

</dependencies>



dependency의 id와 버전의 정보는 http://mvnrepository.com/ 이 사이트에서 얻을 수 있다.
다음과 같이 검색 후 Spring-mvc를 들어가면 각종 버전별 라이브러리가 있다.
Version을 클릭하자.


아래와 같은 화면이 나오면 중간부분에
dependency가 있다 복사해서 이클립스에 적으면 자동으로 설정이 된다.


 

728x90
Posted by 정망스
,
728x90

안드로이드 개발을 하다모면 액티비티간 데이터를 주고받아야 하는 경우가 있습니다.
이런 경우 startActivityForResult() 와 onActivityResult()를 이용해 처리할 수 있습니다.

순서는 아래와  같습니다.
1. 액티비티 호출시 리퀘스트 코드를 추가한다.
2. 호출된 액티비티는  액션을 한 후 결과를 세팅하고 종료한다.
3. 기존 액티비티는 결과를 받아 처리한다.


 1. 액티비티 호출시 리퀘스트 코드를 추가한다
 
기본적으로는 액티비티를 호출할 때, startActivity() 메소드를 사용하지만,
이 경우에는 startActivityForResult() 메소드를 사용해야 합니다.

액티비티 A가 있다고 해봅니다.
액티비티 A는 intent에 데이터를 넣고, 액티비티 B를 호출할 것입니다.
이때, 액티비티 A는 자신이  호출한 액티비티 B에서 처리된 결과를 데이터로 받고 싶어 합니다.


처음에는 아래와 같이 Activity A 만 존재하고 있습니다.





이제 이 Activity A는 B를 호출합니다. 호출은 아래와 같이 이루어 집니다.
intent에 호출할 Activity B에 대한 정보와,  여러 데이터들을 담습니다.
 

 

 





Activity B가 호출 되면 아래와 같이 될것입니다.


 

1
startActivityForResult(intent, requestCode);



 

 

 2. 호출된 액티비티는 액션을 한 후 결과를 세팅하고 종료한다
 
호출된 Activity B는 자신을 호출한 Activity A로 부터 받은 데이터를 가지고 무엇인가 자신의 일을 수행할 것입니다.
그리고 모든 수행을 마쳤다면, 아래와 같이 합니다.

결과로 돌려줄 데이터가 있다면, setResult(RESULT_OK, intent) 를 실행해 결과를 함께 넘겨주고,
결과는 주지 않고, 뭔가 수행했다는 신호정도만을 돌려줄땐, setResult(RESULT_OK) 를 실행합니다.

- 여기서는  RESULT_OK 를 넣었지만, 실제로 RESULT_CANCELED 와  RESULT_FIRST_USER 라는 플래그도 있습니다.
- 중요한건 프로그래머가 식별할 수 있는 플래그를 사용하면 되는 것입니다.

그리고 모든 처리가 끝났다면 Activity B는 자신을 finish() 하면 됩니다.
 

 

 



 

1
2
3
4
Intent intent = new Intent();
intent.putExtra("resultSetting", "결과를 처리하였습니다.");
this.setResult(RESULT_OK, intent);
finish();



 

 3. 기존 액티비티는 결과를 받아 처리한다
 
Activity B는 자신을 종료시키면서 Activity A를 다시 화면위로 올려놓습니다.
그럼 Activity A에서는 자동으로 onActivityResult() 메소드가 호출됩니다. 

프로그래머는 Activity A에서 onActivityResult() 메소드를 override해서 자신이 되돌려 받은 결과로 처리하고 싶은 것을 구현하면 됩니다.



 




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* (non-Javadoc)
 * @see android.app.Activity#onActivityResult(int, int, android.content.Intent)
 */
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);
     
    // 수행을 제대로 한 경우
    if(resultCode == RESULT_OK && data != null)
    {
        String result = data.getStringExtra("resultSetting");          
    }
    // 수행을 제대로 하지 못한 경우
    else if(resultCode == RESULT_CANCELED)
    {
                     
    }
}

728x90
Posted by 정망스
,

퍼스펙티브(perspective)

JAVA 2013. 10. 1. 22:48
728x90

보통 자바 툴을 사용하실때 많이 사용하는것이 이클립스다.

 

이클립스에는 근데 자바 뿐만 지원하는것이 아니라 다른 환경도 지원한다.

사람들이 퍼스펙티브 svn으로 변경해서 봐라, java ee로 해라 하는등

퍼스펙티브라는 말을 종종 들을수 있다.

 

 

java ee 옆에 보이는 자그마한 플러스 모양의 아이콘이 보이는가. 그게 퍼스펙티브를 변경하는 버튼이다.

클릭하게 되면

 

 

퍼스펙티브 선택창이 열리고 선택해서 OK 되면 퍼스펙티브가 변경된다.

 

프로그래머에게 있어서 코드를 계속해서 쳐보는것도 중요하지만 일상속 대화에 전문용어들이 마구마구 나오면

나조차도 늘 혼란스럽다. 전문 용어도 좀 알아둬야 된다는 생각이 많이 든다.

 

728x90
Posted by 정망스
,

clearfix

CSS 2013. 10. 1. 22:48
728x90
CSS
.pinkbox {width:324px;padding:5px;}
.redbox {float:left;width:150px;height:60px;padding:5px;}
.bluebox {float:right;width:150px;height:130px;padding:5px;}

HTML
<div class="pinkbox">
<div class="redbox">
redbox
</div>
<div class="bluebox">
bluebox
</div>
</div>

위와 같은 코드가 있다고 하면, 실제로 웹 브라우저에서는 아래와 같이 보인다.

redbox
bluebox

(ie6에서는 감싸는 것처럼 보입니다.)

겉에 있는 핫핑크의 박스가 두 박스를 감싸지 못한다.


이것을 해결하려면 아래와 같은 방법이 있다.
1. redbox와 bluebox의 아래쪽에 div를 하나 더 만들어서 clear:both;를 넣어 주는 방법.
2. pinkbox에도 float:left;를 넣어 주는 방법
3. pinkbox에 height값을 넣은 눈속임

4. clearfix

1~3번은 사용이 간단하지만, 어느 것도 사용에 제약이 있다.
1. div를 추가로 넣어야 해서 사용하기 어려운 경우가 있다.
2. pinkbox 밖에서 다시 clear를 해 줘야 한다.
3. 세로의 길이가 가변적이어야 할 때는 사용하지 못한다.

가장 제약이 없는 방법은, :after 를 사용한 4번이다.

CSS
<style type="text/css">
.clearfix:after {content:".";display:block;height:0;clear:both;visibility:hidden;}
.clearfix {display: inline-block;}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */

HTML
<div class="clearfix pinkbox">
<div class="redbox">
redbox
</div>
<div class="bluebox">
bluebox
</div>
</div>


이제, 아래처럼 정상적으로 보인다.

redbox
bluebox

 

728x90

'CSS' 카테고리의 다른 글

clear  (0) 2013.01.25
익스플로어 6에서 png파일 투명하게 보이기  (0) 2013.01.08
CSS 스타일시트 속성정리  (0) 2013.01.08
CSS레이아웃-플로트를 이용한 2단 레이아웃  (0) 2013.01.08
CSS 레이아웃-중간 정렬하기  (0) 2013.01.08
Posted by 정망스
,

jquery ui 이용 datepicker

jQuery 2013. 9. 30. 22:55
728x90

http://jqueryui.com/ 에서는 여러가지 유용한 jquery ui 를 제공한다.

여기서 제공하는 ui만 잘 활용하더라도 멋진 웹을 만들수 있을거라는 생각이 든다.

 

 

 

 

간단한 사용법의 테스트차 적어본 소스이다 datepicker 메서드의 속성의 dateFormat만 적혀있지만 아마도 다른 속성들또한 여러가지가 있을것이다. 각 메서드에대한 속성의 종류와 설명은 위 홈페이지에 들어가면 설명이 나와있을것이다.

 

 

결과화면이다. 처음엔 input 타입이 text인 창만 하나 나오게 된다. text창에 클릭을 하게되면 밑에 달력모양이 뜨며 날짜를 선택할수있게 된다. 날짜를 선택하면 text창에 해당 날짜가 자동으로 입력되어진다.

 

 

728x90

'jQuery' 카테고리의 다른 글

jQuery 속성 선택자  (0) 2013.10.08
jQuery 프레임워크 충돌 방지  (0) 2013.01.08
jQuery를 사용한 객체 확장  (0) 2013.01.08
jQuery를 사용한 배열 관리  (0) 2013.01.08
jQuery 필터 선택자 | 함수 필터 선택자  (0) 2013.01.08
Posted by 정망스
,


맨 위로
홈으로 ▲위로 ▼아래로 ♥댓글쓰기 새로고침