Ошибка: неизвестное свойство, пользовательский контроллер Visualforce - PullRequest
0 голосов
/ 05 ноября 2019

Попытка извлечь данные из конечной точки REST, сохранить данные в виде списка класса my_obj, вернуть этот список и представить его в виде таблицы с использованием контроллера Visualforce.

Apex Class 1:

public class api{
    List<String> rec_ids = new List<String>();
    List<String> last_calls = new List<String>();
    List<String> messages = new List<String>();
    List<my_obj> final_res = new List<my_obj>();
public List<my_obj> getfinal_res(){
        // --------getting all the required data-----
        // storing as a list of my_obj
        for(Integer i=0;i<last_calls.size();i++){
            my_obj obj = new my_obj(rec_ids[i], last_calls[i], messages[i]);
            System.debug(obj.rec_id);
            final_res.add(obj);          
        }
        return final_res;
    }
}

Apex Class 2:

global class my_obj{
    public String rec_id, msg, last_call;
    public my_obj(String rec_id, String msg, String last_call){
        this.rec_id = rec_id;
        this.msg = msg;
        this.last_call = last_call;
    }
}

Контроллер Visualforce:

<apex:page controller="telog_api">
    <apex:pageBlock >
      <!-- <apex:outputText value="{!final_res}" /> -->
      <apex:pageBlockTable value="{!final_res}" var="a">
          <apex:column value="{!a.rec_id}"/>
          <apex:column value="{!a.msg}"/>
          <apex:column value="{!a.last_call}"/>
      </apex:pageBlockTable>
    </apex:pageBlock>
</apex:page>

Эта строка <apex:outputText value="{!final_res}" /> работаетхорошо. Отображает список объектов. Но я хочу отобразить его в виде таблицы. При получении этой ошибки: «Ошибка: неизвестное свойство 'my_obj.rec_id;"

Ответы [ 2 ]

0 голосов
/ 15 ноября 2019

Это связано с тем, что следующая переменная не объявлена ​​в качестве свойства:

public String rec_id, msg, last_call;

Они должны быть объявлены следующим образом:

`public String rec_id {get;}
public String msg {get;}
public String last_call {get;}`

получить;убедится, что эти переменные видны на указанной выше странице VisualForce.

0 голосов
/ 06 ноября 2019

разобрался с ответом: поменяй public String rec_id, msg, last_call; на

    public String rec_id {get;set;}
    public String msg {get;set;}
    public String last_call {get;set;}
...