2017-03-14 6 views
1

最近struts2の'S2-045'の問題が修正されました。 struts2関連するjarファイル(freemarkerognlxWorkなど)動的Webプロジェクトを展開するのにtomcat8を使用します。 tomcat-serverを起動している間にExceptionsはありませんでした。しかし、一部の問題が発生しました.jspページのに何らかの値(dbから取得)を表示しないと、が表示されません。スローされたExceptionsはありません。 Action Classesには、すでに正しくオブジェクトがあることがわかります。 struts2を2.3.16から2.3.32に更新した後(S2-045を修正)、JSPファイルで一部のオブジェクトのフィールドを解決できない


次はralatedフィールドIDですNews.java

// News.java (**just some ralated fields**) 
    class News{ 
     @Id 
     @GeneratedValue(generator = "system-uuid") 
     @GenericGenerator(name = "system-uuid", strategy = "uuid") 
     @Column(name = "f_uuid", length = 32, unique = true) 
     private String UUID; 

     @Column(name = "f_title", length = 200) 
     private String fTitle; 

     @Transient 
     private String fCreatetime_s; 

     public String getUUID() { 
      return UUID; 
     } 
     public void setUUID(String uuid) { 
      UUID = uuid; 
     } 

     public String getFTitle() { 
      return fTitle; 
     } 


     public void setFTitle(String title) { 
      fTitle = title; 
     } 

     public String getFCreatetime_s() { 
      SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); 
      return formatter.format(Long.valueOf(fCreatetime)); 
     } 


     public void setFCreatetime_s(String createtime_s) { 
      fCreatetime_s = createtime_s; 
     } 
    } 

、その後、私はこれが多分原因だと思うGetarcList.java

//GetarcList.java (just include some related fields) 
    class GetarcList{ 
     private List list; 

     public void setList(List list) { 
      this.list = list; 
     } 

     //!!!!!!$$$$$$$$--- Attention -----$$$$$$$$$!!!!!!!!!!! 
     // this method returns a List<News> , I can successfully get every value of 'News' in the list 
     public List getList() throws AuctionException{ 
      String orderby_str = (String) OrderByMap.get(String.valueOf(orderby)); 
      list = webTagManager.getArcList(row, typeid, titlelen, infolen, orderby_str + " " + orderway); 
      return list; 
     } 

    } 

後、いくつかの例


// index.jsp ----- here is the list I want to show on the page. 
    // the list is the type of List<News> (Class News is my bussiness Class). 
    // I want to get the 'fTitle' and 'fCreatetime_s' from 'News' but they 
    //  do not show up! (This used to be working very well.) 
    <s:bean name="org.ulibrary.web.Getarclist"> 
     <s:iterator value="list"> 
     <li> 
      <span class="listTitle"> 
       <a target="_blank" href="ViewArc.action? uuid=${UUID}">${fTitle}</a> 
      </span> 
      <span class="listDate">${fCreatetime_s}</span> 
     </li> 
     </s:iterator> 
    </s:bean> 
    //================================================================= 

ですOGNLまたはJSPリレーted jarファイル。私はindex.jspまたはjava-filesに問題は見つかりませんでした。

+0

「UUID」のフィールドがページで解決できると忘れてしまった。 –

+0

https://struts.apache.org/docs/struts-23-to-25-migration.html –

答えて

1

getter/setterを次の形式で使用する必要があります。開始小文字が1つしかないプロパティは大文字ではありません。

public String getfTitle() { 
     return fTitle; 
    } 


    public void setfTitle(String title) { 
     fTitle = title; 
    } 
+0

本当にありがとうございました。以前気付かなかった –

+0

この不正なゲッターとセッターの名前は以前のバージョン(2.3.16)でも動作しますか?または、2.3.32バージョンのこの部分だけを明示的に、または明示的に@Roman以前はブーリアンセッターについての議論があったことを知っています。http://stackoverflow.com/q/36909947/5086633 – yeppe

+1

@yeppeこれはバージョン2.3.32とそれ以上の影響を受けています。より正確には、Struts2フレームワークにバンドルされているOGNLのバージョン3.0.11(OgnlRuntime)です。 –

関連する問題