您好,
我现在有一个问题,我无法解决。
问题:目前我有2个班级,例如A类和B类。在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并将其显示为输出链接。
我尝试了什么:我尝试过使用getter和setter但它没有用。为什么?因为VF页面严格调用没有参数的getURL()方法。
我也尝试将其保存在自定义设置中,但由于长度太长,所以不可能!
请帮忙。任何种类的帮助将不胜感激!
答案 0 :(得分:0)
您是否尝试过全局静态变量?
答案 1 :(得分:0)
您可以在A类上创建一个静态方法,以返回给定Account
对象的URL。
然后,B类可以在Visualforce页面上查找当前帐户的ID:
Id id = ApexPages.currentPage().getParameters().get('id');
将该Id传递给A类的静态方法以获取该帐户的URL。
这适用于显示帐户详细信息的Visualforce页面,但不适用于帐户列表。
答案 2 :(得分:0)
谢谢大家的帮助,但我能找到的唯一出路就是将它保存在一个自定义对象上,该对象查看了Account,然后执行SOQL以获得它在B类中。
感谢帮助人员!