2012-08-13 2 views
0

안녕하세요,
현재 문제가 있으며 해결할 수 없습니다.Salesforce - 문자열을 다른 클래스로 전달합니다! - APEX

문제 : 예를 들어 클래스 A와 클래스 B에 대해 현재 2 개의 클래스가 있습니다. 클래스 A 내부에는 계정에서 실행되는 for 루프가 있습니다.

Class A{ 
    for(Account t: listAccounts){ 
     String abc = t.Name; 
     String URL = 'http://testURL.com/test?q1='+t.id+'&q2='+t.Name.......till q50'; 
    } 
} 

이 for 루프는 계정에서 실행될 때마다 새 URL을 생성합니다. 이 URL을 for 루프에서 VF 페이지에 표시하는 다른 클래스로 전달하는 방법이 필요합니다. 클래스 B는 VF 페이지의 컨트롤러입니다.

URL의 길이가 500자를 넘기 때문에 맞춤 설정으로 전달하고 다른 컨트롤러에서 다시 검색 할 수 없습니다.

Class B{ 
     public String getURL(){ 
     //Somehow fetch that URL everytime the loop runs 
     return URL; 
     } 
} 

이제 VF 페이지는이 컨트롤러 클래스 B를 호출하여 URL을 검색하고 출력 링크로 표시합니다.

내가 시도한 것 : getters와 setter를 사용하려고했지만 작동하지 않았습니다. 왜? VF 페이지가 매개 변수없이 getURL() 메소드를 엄격하게 호출하기 때문입니다.

또한 맞춤 설정으로 저장하려고했으나 길이가 너무 길어서 불가능했습니다.

도와주세요. 모든 종류의 도움을 많이 주시면 감사하겠습니다!

+0

Visualforce 페이지를 열면 컨트롤러 B를 호출하고 컨트롤러 B는 컨트롤러 A를 호출하여 URL을 가져옵니다. 그게 맞습니까? – mast0r

답변

0

고마워은이 계정에 찾아 볼있는 사용자 지정 개체에 저장 한 후 클래스 B에 대한

감사를 얻기 위해 SOQL을하고있다 도움 얘들 아!

0

글로벌 정적 변수를 사용해 보셨습니까?

0

클래스 A에 정적 메서드를 만들어 주어진 Account 개체의 URL을 반환 할 수 있습니다.

그런 다음 클래스 B는없이 VisualForce 페이지에서 현재 계정의 ID를 찾아 볼 수 있습니다 :

Id id = ApexPages.currentPage().getParameters().get('id'); 

그리고 그 계정의 URL을 얻을 클래스 A의 정적 메소드에 해당 ID를 전달합니다.

이것은 계정에 대한 세부 정보를 보여 주지만 계정 목록에는 적용되지 않는 Visualforce 페이지에서 작동합니다. 도움하지만 난 찾을 수 밖에있는 유일한 방법에 대한

관련 문제