将struts2从2.3.16更新到2.3.32(修复S2-045)后,JSP文件无法解析某些对象的字段

最近我们修复了struts2的‘S2-045’问题。我更新了所有与struts2相关的jar文件,包括freemarkerognlxWork等。 我使用tomcat8来部署我的动态Web项目。 启动tomcat-server时没有任何Exceptions 。 但是似乎出现了一些问题 :一些值(从db获得)应该显示在jsp页面上, 不再显示 。 没有抛出exception。 我也可以看到我已经在Action Classes正确地获得了这些对象。


以下是一些例子


  // index.jsp ----- here is the list I want to show on the page. // the list is the type of List (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.)   
  • ${fTitle} ${fCreatetime_s}
  • //=================================================================

    以下是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 , 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; } } 

    我认为这可能是由OGNL或JSP相关的jar文件引起的。 我在index.jsp或java文件中没有发现任何问题。

    您需要使用以下格式的getter / setter。 只有一个起始小写字母的属性不是大写的。

      public String getfTitle() { return fTitle; } public void setfTitle(String title) { fTitle = title; }