2016-02-17 6 views
0

Я разрабатываю веб-приложение с использованием Primefaces JSF, используя управляемые компоненты в интерфейсе и SQL Server во внутреннем интерфейсе. Я разрабатываю приложение в течение 2 месяцев, тестировал его в разных средах нашего офиса. В разных средах я имею в виду разные версии java 7 и версии Tomcat 7, и все работает нормально. Попробовал продолжить развитие с моего домашнего компьютера, и теперь я получаю сообщение об ошибкеjavax.el.ELException Метод не найден

javax.el.ELException:. /custsession_detailed.xhtml @ 67122 значение = "# {IdToString.returnPackagetName (SearchComponent.returnCustomerProfile() packagesSegment)} ": метод не найден: класс al.durandal.com.jsf.IdToStringTypeComponent.returnPackagetName (java.lang.String)

Я 100% уверен, что метод есть. В обеих средах версии Java и версии Tomcat одинаковы.

package al.durandal.com.jsf; 

@ManagedBean(name="IdToString") 
@ViewScoped 
public class IdToStringTypeComponent extends ManagedComponent { 


    /** 
    * 
    */ 
    private static final long serialVersionUID = -233667982117424411L; 
    private PackagesType packageType; 
    private StatusType statusType; 
    private static Logger logger =Logger.getLogger(IdToStringTypeComponent.class.getName()); 



    @Autowired 
    private transient StatusTypeDAO statusTypeDAO; 

    @Autowired 
    private transient StatusTypeService statusTypeService; 

    @Autowired 
    private transient PackagesTypeDAO packagesTypeDAO; 




    public List<StatusType> listAllStatusTypes(){ 
     return new java.util.ArrayList<StatusType>(statusTypeDAO.findAllStatusTypes()); 
    } 

    public StatusType getStatusType() { 
     return statusType; 
    } 



    public void setSatusType(StatusType statType) { 
     this.statusType = statType; 
    } 

    @Transactional 
    public StatusType loadStatusTypeByPrimaryKey(Integer sidKey) { 
     statusType = statusTypeDAO.findStatusTypeByPrimaryKey(sidKey); 

     return statusType; 
    } 

    public String returnProductName(Integer statusCode){ 


     statusType=statusTypeDAO.findStatusTypeByPrimaryKey(statusCode); 
     if(statusType!=null) 
     return statusType.getStatusName(); 
     else 
      return "Empty"; 

    } 

    public String returnPackagetName(Integer pkgCode){ 

     packageType =packagesTypeDAO.findPackagesTypeByIdPackage(pkgCode); 

     if(packageType!=null) 
      return packageType.getName(); 
     else 
      return "Not Available"; 
    } 


    @Override 
    public void postConstruct() { 
     // TODO Auto-generated method stub 
     statusType= new StatusType(); 



    } 


    public void setStatusValues(int statusId){ 
     System.out.println("statusId "+statusId); 
     statusType = new StatusType(); 
     statusType = loadStatusTypeByPrimaryKey(statusId); 
     System.out.println("statusType" + statusType); 
     System.out.println("Ja ku jam ketu"); 
     setSatusType(statusType); 


    } 

    public int setMaxStatusType(){ 
     int statusTypeNo=statusTypeService.countStatusTypeMax(); 
     statusType = new StatusType(); 
     System.out.println("statusTypeNo " +statusTypeNo); 
     statusType.setSid(statusTypeNo); 
     return statusTypeNo; 
    } 


    @Transactional 
    public void saveStatusType(StatusType statustype) { 

     logger.info("Saving Status Type: "+statustype.toString()); 
     FacesMessage message = null; 
     FacesContext context = FacesContext.getCurrentInstance(); 
     boolean save=false; 
     try { 
      //crmNotesService.saveCrmNotes(crmNotes); 
      statusTypeService.saveStatusType(statustype); 
      logger.info("Saving..."); 

      //statustype.unset(); 

      //statusType.setSid(statusTypeService.countStatusTypeMax()); 
      // 
      //statustype.setSid(statusTypeService.countStatusTypes()); 

      save = true; 


     } 
     catch(Exception e) 
     { 
      logger.info("FAILED during saving..."); 
      logger.info("Excpetions are: "+e.toString()); 
      throw e; 
     } 

    if(save) { 
      message = new FacesMessage(FacesMessage.SEVERITY_INFO, "OK!","Saved Succesfully !"); 

     } else { 
      message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Error!", "Unable to save !"); 


     } 
     context.addMessage(null,message); 

    } 


} 

xmthl файл, который вызов функции

<h:form style="width: auto !important;padding-top: 5px;"> 

        <p:accordionPanel>     
         <p:tab title="#{usersmsgs['custdet.lmenu.geninfo']}"> 
         <p:panelGrid columns="2" style="width:100%;"> 


         <h:outputText value="#{usersmsgs['custdet.lmenu.cif']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().customerNo}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.hostbr']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().localBranch}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.namesurn']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().customerName}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.fathname']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().fatherName}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.birthday']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().birthday}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.age']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().age}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.gender']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().gender}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.city']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().city}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.education']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().education}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.profession']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().profession}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.workcomp']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().workingCompany}" /> 
         </p:panelGrid> 
         </p:tab> 

         <p:tab title="#{usersmsgs['custdet.lmenu.contactinfo']}"> 
         <p:panelGrid columns="2" style="width:100%;" > 


         <h:outputText value="#{usersmsgs['custdet.lmenu.address']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().address}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.email']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().email}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.telno']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().telNo}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.mobno']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().mobNo}" /> 
         </p:panelGrid> 
         </p:tab> 


         <p:tab title="#{usersmsgs['custdet.lmenu.bankinfo']}"> 
         <p:panelGrid columns="2" style="width: auto !important;padding-top: 2cm;padding-bottom: 70%;"> 


         <h:outputText value="#{usersmsgs['custdet.lmenu.packagesSegment']}" /> 
         <h:outputText value="#{IdToString.returnPackagetName(SearchComponent.returnCustomerProfile().packagesSegment)}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.personalincome']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().personalIncome}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.monthlysal']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().monthlySalary}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.actualexpother']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().exposureOtherBanks}" /> 
         <h:outputText value="#{usersmsgs['custdet.lmenu.actualexpoaba']}" /> 
         <h:outputText value="#{SearchComponent.returnCustomerProfile().exposureAba}" /> 
         </p:panelGrid> 
         </p:tab> 

        </p:accordionPanel> 


      </h:form> 
+1

типа аргумента метода не являются одинаковыми. Исключение говорит, что он не смог найти один аргумент String, в то время как ваш фактический метод принимает только Integer. Если это сработало раньше, я думаю, вам нужно сделать шаг назад. – BalusC

ответ

1

Проблема заключается в этой строке

<h:outputText value="#{IdToString.returnPackagetName(SearchComponent.returnCustomerProfile().packagesSegment)}" /> 

и журнал говорит, что метод разыскивается принимает Струнного параметра

returnPackagetName(java.lang.String) 

в то время как метод в вашем боба принимает Integer

returnPackagetName(Integer pkgCode) 
Смежные вопросы