当前位置: 首页 > 知识库问答 >
问题:

从2.3更新struts2之后。16至2.3。32(修复S2-045),JSP文件无法解析某些对象的字段

毕衡
2023-03-14

最近我们修复了struts2的S2-045问题。我更新了所有与struts2相关的jar文件,包括freemarker,ognl,xWork等。我使用tomcat8来部署我的动态web项目。启动tomcat服务器时没有任何Exceptions。但是似乎出现了一些问题:一些值(从数据库中获得)应该显示在jsp页面上,但不再显示了。没有抛出异常。我也可以看到我已经在动作类中正确地得到了非常对象。

    // 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>
    //=================================================================

以下是调整后的字段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;
         }

    }

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

共有1个答案

司空凌
2023-03-14

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

    public String getfTitle() {
        return fTitle;
    }


    public void setfTitle(String title) {
        fTitle = title;
    }
 类似资料:
  • 在上一章学习了Git的一个最重要的概念:暂存区(stage,亦称index)。暂存区是一个介于工作区和版本库的中间状态,当执行提交时实际上是将暂存区的内容提交到版本库中,而且Git很多命令都会涉及到暂存区的概念,例如:git diff命令。 但是上一章还是留下了很多疑惑,例如什么是HEAD?什么是master?为什么它们二者(在上一章)可以相互替换使用?为什么Git中的很多对象像提交、树、文件内容

  • 我试图更新mongodb集合的某个值,但没有成功,它只更新一个字段,而不更新另一个字段,下面是我的代码, 模式: 下面是控制台结果,其中包含mongoose调试 猫鼬:clients.findone({_id:ObjectId(“57AA0403B8F3786D09D8C626”)}){fields:未定义} 之前的数据:{datePayment:2016-08-09T18:03:07.501z,

  • 介绍 你先前使用ABI文件部署了eosio.token合约.这一教程会概述ABI文件是如何与eosio.token合约相关联的. ABI文件能通过eosio.cdt提供的eosio-cpp工具生成.但是,有几种情况会导致生成的ABI失灵或生成失败.C++的高级设计模式会使其出差错以及自定义的类型有时也会引起ABI生成的问题.因此,了解ABI文件是如何工作对你来说很重要,这样你就在需要的时候去deb

  • 问题内容: 我正在使用Sonar Integration在Jenkins中构建一个项目。 一切顺利,直到进行声纳分析为止。我收到以下错误: [错误]无法在项目项目上执行目标org.codehaus.mojo:sonar-maven-plugin:2.2:sonar(default- cli),无论如何:无法执行SonarQube分析:请将sonar-maven-plugin更新至至少版本2.3->

  • 固件( Firmware )就是写入 EROM(可擦写只读存储器)或 EEPROM (电可擦可编程只读存储器)中的程序,修改固件是在提取出固件之后,一般是 16 进制的 BIN 文件或者 HEX 文件,然后通过逆向分析或解包之后,获得实际的逻辑代码,然后根据需求修改其中的关键代码,之后再重打包刷回芯片中,使硬件执行修改之后的固件。

  • 我在tomcat 7本地应用程序服务器上使用JSP 1.2和JSTL或Spring的taglib声明。但是,无论文件是在WEB-INF/lib下还是在类路径的其他位置,我总是会收到这样的错误:绝对uri:http://java.sun.com/jsp/jstl/core无法在web.xml或与此应用程序一起部署的jar文件中解析绝对uri:http://www.springframework.or