2009-07-29 75 views
0

我有一個看起來有點像這樣的形式:HTML:text標籤不工作

public class MaintainForecastInputForm extends ActionForm { 
    private MainMenuForm mainMenuForm = new MainMenuForm(); 
    public SelectProdLineAssociationForm selectProdLineAssociationForm = new SelectProdLineAssociationForm(); 
    private EconometricDataForm econometricDataForm = new EconometricDataForm(); 
    private EconometricImportDownloadForm econometricImportDownloadForm = new EconometricImportDownloadForm(); 
    private String userAction; 
    private List<MaintainForecastInputForm.DemandForecast> demands = new ArrayList<MaintainForecastInputForm.DemandForecast>(); 
    private List<MaintainForecastInputForm.DemandForecast> forecasts = new ArrayList<MaintainForecastInputForm.DemandForecast>(); 
    private DemandForecast iimsForecast = new DemandForecast(); 
    private DemandForecast econometricForecast = new DemandForecast(); 

    public static class DemandForecast { 
     private String subType; 
     private String shortTermWtAvg="0.0"; 
     private String midTermWtAvg="0.0"; 
     private String longTermWtAvg="0.0"; 
     private String shortTermPct="0.0"; 
     private String midTermPct="0.0"; 
     private String longTermPct="0.0"; 
     private List yearDemands = new ArrayList(); 

    public static class Year { 
      private String fyTotalValue="0.0"; 
      private String fyPctChange="0.0"; 
     private List monthDemands = new ArrayList(); 

     public String getFyPctChange() { 
       return fyPctChange; 
      } 

      public void setFyPctChange(String fyPctChange) { 
       this.fyPctChange = fyPctChange; 
      } 

      public String getFyTotalValue() { 
       return fyTotalValue; 
      } 

      public void setFyTotalValue(String fyTotalValue) { 
       this.fyTotalValue = fyTotalValue; 
      } 
    } // Year 

     public static class Month { 
      private String demandValue="0.0"; 
      private String demandQuantity="0.0"; 

     public String getDemandQuantity() { 
       return demandQuantity; 
      } 

      public void setDemandQuantity(String demandQuantity) { 
       this.demandQuantity = demandQuantity; 
      } 

      public String getDemandValue() { 
       return demandValue; 
      } 

      public void setDemandValue(String demandValue) { 
       this.demandValue = demandValue; 
      } 
    } // Month 

    public String getLongTermPct() { 
      return longTermPct; 
     } 

     public void setLongTermPct(String longTermPct) { 
      this.longTermPct = longTermPct; 
     } 

     public String getLongTermWtAvg() { 
      return longTermWtAvg; 
     } 

     public void setLongTermWtAvg(String longTermWtAvg) { 
      this.longTermWtAvg = longTermWtAvg; 
     } 

     public String getMidTermPct() { 
      return midTermPct; 
     } 

     public void setMidTermPct(String midTermPct) { 
      this.midTermPct = midTermPct; 
     } 

     public String getMidTermWtAvg() { 
      return midTermWtAvg; 
     } 

     public void setMidTermWtAvg(String midTermWtAvg) { 
      this.midTermWtAvg = midTermWtAvg; 
     } 

     public String getShortTermPct() { 
      return shortTermPct; 
     } 

     public void setShortTermPct(String shortTermPct) { 
      this.shortTermPct = shortTermPct; 
     } 

     public String getShortTermWtAvg() { 
      return shortTermWtAvg; 
     } 

     public void setShortTermWtAvg(String shortTermWtAvg) { 
      this.shortTermWtAvg = shortTermWtAvg; 
     } 

     public String getSubType() { 
      return subType; 
     } 

     public void setSubType(String subType) { 
      this.subType = subType; 
     } 

     public List getYearDemands() { 
      return yearDemands; 
     } 

     public void setYearDemands(List yearDemands) { 
      this.yearDemands = yearDemands; 
     } 
    } // DemandForecast 
} 

,並在我的JSP我有以下幾點:

<c:forEach items="${form.iimsForecast.yearDemands}" var="yearDemand"    varStatus="year"> 
    <tr> 
    <td>${yearDemand.fiscalYear}</td> 
    <c:forEach items="${yearDemand.monthDemands}" var="yearMonth"     varStatus="month"> 
     <c:choose> 
     <c:when test="${year.count == 1 && month.count < yearDemand.currentMonth}"> 
      <td class="lightShaded dmnd"> 
      <html-el:text property="form.iimsForecast.yearDemands.monthDemands.demandValue"> 
      </td> 
... 

我得到一個JSP例外 - 儘管它在那裏,getter屬性並沒有在形式中找到。有人可以幫我解決這個問題嗎?

+2

添加例外,添加所有代碼,格式正確。這是不夠的信息。 – stevedbrown 2009-07-29 16:11:42

回答

0

這聽起來很明顯,但您是否將標記庫添加到頁面?

<%@ taglib prefix="html" uri="http://struts.apache.org/tags-html-el" %> 
2

您的代碼不會顯示你是否有一個getIimsForecast()方法的形式(只顯示iimsForecast屬性) - 如果你不這樣做,你需要添加它。但是,這不是唯一的問題。

您的物業路徑包括yearDemandsmonthDemands以及返回List s的吸氣方法。這是非法的 - 嵌套屬性路徑必須具有單個bean或具有索引訪問列表元素(例如iimsForecast.yearDemands[0].monthDemands[0].demandValue)。

最後,您可能不需要在屬性路徑前加上form,但這取決於您的配置以及是否包含​​3210標記。