Force.com: String - 입출력 : Parameter

Force.com으로 웹 페이지를 제작하면 제일 먼저 사용하는 것이 Parameter를 사용한 값의 전달일 것 입니다. Visualforce 페이지에서 어떻게 Parameter을 전달할 수 있는지 알아 봅시다.

  • PageReference를 사용한 Parameter 입출력
  • ApexPages.currentPage().getParameters().get('paraStr')
  • ApexPages.currentPage().getParameters().put('paraStr', '~')
ApexPages.currentPage()는 현재 페이지의 PageReference를 반환 합니다.

  • Visualforce Page에서 Parameter 입출력
  • {!$CurrentPage.parameters.paraStr}


자 이제 직접 URL에서 parameter를 전달하는 방법을 알아 봅시다.

http://~/tmpPage?paraStr=~ 형태를 사용하여 Parameter를 전달하는 것은 익히 알려진 방법 입니다. 그렇지만 Force.com에서 제공하는 개체의 필드값을 Parameter로 전달하려면 아래와 같이 하셔야 합니다.

  • 각 필드의 고유한 ID를 확인 합니다.
  • "설정 -> App설정 -> 작성 -> 개체 -> [개체 선택] -> [필드 선택]"을 하면 아래와 같은 URL이 표시 됩니다.
  • 이때 00NA0000008Gc9u 이 이 필드의 고유한 ID 입니다.

  • URL에서 각 Input 필드별로 다음 값을 전달하면 데이터가 입력되어 있는 화면이 표시 됩니다.
  • 일반 필드
  • 필드_아이디=값
  • 검색 관계 필드 또는 마스터-세부 사항 관계 필드
  • 필드_아이디=화면에_표시될_이름
  • 필드_아이디_lkid=값(검색 관계에 있는 개체의 아이디)
  • 예) /a0B/e?CF00NA0000005JzZX={!ObjectMaster__c.Name}&CF00NA0000005JzZX_lkid={!ObjectMaster__c.Id}


Posted by 산사랑

2011/07/27 19:34 2011/07/27 19:34
, , , , , , ,
Response
No Trackback , No Comment
RSS :
http://www.jopenbusiness.com/tc/oss/rss/response/353

Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/353

Leave a comment
[로그인][오픈아이디란?]

Force.com: Visualforce Page Lifecycle

Salesforce의 Force.com을 사용하면 화면 구성을 위해 Visualforce page를 많이 사용 합니다. 아래 그림은 Visualforce Page의 Licycle 입니다.

Posted by 산사랑

2011/07/26 19:12 2011/07/26 19:12
, , , , , ,
Response
No Trackback , No Comment
RSS :
http://www.jopenbusiness.com/tc/oss/rss/response/352

Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/352

Leave a comment
[로그인][오픈아이디란?]

Force.com : String 선언

Force.com에서 가장 많이 사용하는 자료형을 보면 String과 sObject일 것입니다. 두개의 자료형에 대한 사용법을 명확히 숙지하게 된다면 Force.com의 중급 이상이라 볼 수 있습니다.

이제부터 그 중에서 String에 대해서 알아 봅시다. 이번 시간에는 String의 정의에 대해서 알아 봅시다.


String은 문자열을 저장하는 자료형 입니다.


 *** String의 정의 ***
 String item = new String();
 String item = '~';


 *** String 배열의 정의 ***
 String[] data = new String[7];
 String[] data = new String[3] {'~', '~', '~'};
 String[] data = new List<String>();
 String[] data = new List<String>(anotherList_객체);

 참고로 data와 같은 배열은 index가 0부터 시작 합니다.
 data[0], data[1], data[3], ...


String 선언은 아주 간단하죠 !!!

오픈소스 비즈니스 컨설팅


Posted by 산사랑

2011/07/25 19:55 2011/07/25 19:55
, , , , , , , , ,
Response
No Trackback , No Comment
RSS :
http://www.jopenbusiness.com/tc/oss/rss/response/351

Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/351

Leave a comment
[로그인][오픈아이디란?]

Apex Code Test 프로그램 작성 방식 제안

Apex Code로 프로그램을 작성하면 이를 배포하기 위해서는 전체 코딩된 라인중 75% 이상이 테스트 되어야 합니다. (Code Coverage Result가 75% 이상) Force.com에서 제시하는 테스트 방식을 살펴보면 해당 코드가 한번 이상 수행이 되면 테스트가 된 것으로 처리를 하고 있습니다. 따라서 Code Coverage Result를 높이기만을 원한다면 다양한 테스트 코드를 작성할 필요는 없고 각각의 라인이 한번 이상 실행이 되도록 테스트 코드를 작성하면 됩니다.

  • Code Coverage Result를 높이는 방법
  1. 분기문, 제어문 등에서 각각의 코드 블럭이 실행될 수 있도록 데이터를 구성 합니다. (추천)
  2. 테스트가 완료된 코드 블럭에 의미없는 코드를 추가하여 라인수를 늘입니다. (비추천)


아래 코드는 Test 클래스에 대한 작성 방식 제안 입니다.
ClassName이라는 클래스를 테스트할 때, ClassNameTest라는 별도의 클래스를 만들어서 테스트를 하는 것을 권장 합니다.

@IsTest
private class ClassNameTest {
   private static testmethod void testMain() {
       //--- Test를 위한 변수 선언
       ClassName test = null;
       
       //--- Test를 위한 사용자 설정 (필요한 경우만)
       User user = [select id from User where alias='auser'];
       System.RunAs(u1) {
           //--- Test를 위한 데이터 설정
           manage = new Manage();
   
           //--- Test 코드 작성
           test = new ClassName();
           test.setManage(manage);
           
           System.assert(actual == expected, 'Character.isAscii returned ');
           System.assertEquals(singletotalMiles,  totalMiles);
       }
   }
}


테스트 코드를 작성할 때, 정상적으로 수행이 되었는지 확인하기 위해서 System.assert 등의 함수를 사용할 수 있습니다. Code Coverage Result에 반영이 되지는 않지만 프로그램의 완성도를 위해서 필요한 부분은 System.assert 등을 사용하여 테스트 코드를 작성 하세요.

  • System.assert
  • System.assert(boolean) : boolean 값이 true이면 OK
  • System.assert(boolean, e.getMessage()) : boolean 값이 true이면 OK, boolean 값이 false이면 두번째 인자를 메시지로 표시
  • System.assertEquals(dataA, dataB [, msg]) : dataA와 dataB의 값이 동일하면 OK
  • System.assertNotEquals(dataA, dataB [, msg]) :  : dataA와 dataB의 값이 다르면 OK

오픈소스 비즈니스 컨설팅


Posted by 산사랑

2011/06/20 12:24 2011/06/20 12:24
, , , , , , , ,
Response
No Trackback , No Comment
RSS :
http://www.jopenbusiness.com/tc/oss/rss/response/343

Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/343

Leave a comment
[로그인][오픈아이디란?]
Force.com은 동적으로 페이지를 구성하는 방법을 크게 3가지를 제공 합니다.
  1. Visualforce Page에서 Rerender 사용 (권장)
  2. RemoteAction을 사용 (추천)
  3. AJAX에서 Visualforce Page를 호출 (비 추천)
이중 RemoteAction은 21.0 버전에서는 베타여서 사용하기가 부담스러웠는데
22.0으로 버전이 올라가면서 베타 딱지를 때었습니다.

RemoteAction을 사용하여 좀 더 동적인 페이지를 구성해 보세요.

Apex Code
global  class  MyJSController  {
  public  String  accountName  {  get;  set;  }
  public  static  Account  account  {  get;  set;  }
  public  MyJSController()  {  }
 
  @RemoteAction
  global  static  Account  getAccount(String  accountName)  {
    account  =  [SELECT  id,  name,  phone,  type,  numberofemployees
                   FROM  Account  
                  WHERE  name  =  :accountName  ];
    return  account;
  }
}

Visualforce Page
<apex:page controller="MyJSController">
    <script  type="text/javascript">
    var accountNameJS = null;
    accountNameJS = "오픈소스 비즈니스 컨설팅";
    MyJSController.getAccount(
        accountNameJS,    //--- getAccount에 전달되는 인자, 여러개일 경우 ","로 구분
        function(result, event) {     //--- result : 반환된 결과 값
            if  (event.status)  {
                //--- 정상 처리
                //--- 반환된 값은 result.name 또는 result[2].name 형태로 사용
            }  else  if  (event.type  ===  'exception')  {
                //--- Exception 오류 처리
            }  else  {
                //--- 오류 처리
            }
        },  
        {escape:true}
    );
    </script>
</apex:page>
 

오픈소스 비즈니스 컨설팅


Posted by 산사랑

2011/06/17 12:33 2011/06/17 12:33
, , , , , , ,
Response
No Trackback , No Comment
RSS :
http://www.jopenbusiness.com/tc/oss/rss/response/342

Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/342

Leave a comment
[로그인][오픈아이디란?]

블로그 이미지

개인적인 글쓰기와 오픈소스 비즈니스 컨설팅 관련 글을 정리합니다. consult (골뱅이) jopenbusiness.com

- 산사랑

Archives

12명이 RSS를 구독하고 있습니다.

Site Stats

Total hits:
517284
Today:
10
Yesterday:
275

*** 방문자 통계 ***
0515 : (195)
0516 : (182)
0517 : (177)
0518 : (194)
0519 : (179)
0520 : (220)
0521 : (275)
0522 : (10)
7일간 총 방문자수 : 1422