使用 DisplayTag 库框架通过 Struts2 进行分页

2022-01-16 00:00:00 java struts2

我想为我的应用程序的某些类别应用分页,我在其中使用 spring、struts2 和冬眠.在这里,我从welcome.jsp 文件中调用动作类.它有以下代码:

I want to apply pagination for some class of my application, in which i am using spring, struts2 & hibernate. Here i am calling action class from welcome.jsp file. It has following code :

<s:form action="marketing/allCountry.action">  
         <s:submit value="Click"></s:submit>  
         </s:form>  

现在我的 allCountry.action 类 java 有以下代码:

Now my allCountry.action class of java has following code :

public String executeAction() throws Exception {
        try {
            countryList = new ArrayList<Country>();
            countryList = this.countrySecurityProcessor.findByAll(0, null, null, null, null, false, false, null, null, null, null, 0);
            System.out.println("countryList = "+countryList);
            return ActionSupport.SUCCESS;

        } catch (Exception ex) {
            return ActionSupport.ERROR;
        }
}

它正确地获取数据,我通过打印 countryList 对象确认.但现在我从 SUCCESS 重定向到 country.jsp.country.jsp 的代码是:

It fetches the data properly, that i confirmed by printing countryList object. But now i am redirecting from SUCCESS to country.jsp. The code of country.jsp is :

<display:table list="countryList" requestURI="CountryAllAction" pagesize="3">
    <display:column property="id" title="ID" />
    <display:column property="name" />
</display:table>

现在在执行我的应用程序时,我遇到了运行时错误,例如:

Now at the time executing my application i am getting run time error like :

javax.servlet.ServletException: javax.servlet.ServletException:异常:[.LookupUtil] 在对象类型中查找属性id"时出错java.lang.String".原因:未知属性 'id'

javax.servlet.ServletException: javax.servlet.ServletException: Exception: [.LookupUtil] Error looking up property "id" in object type "java.lang.String". Cause: Unknown property 'id'

此类错误的解决方法是什么?

What is the solution to this type of error?

推荐答案

你需要在你的 action 中为你的 countryList 设置一个 getter.

You need to have a getter for your countryList in your action.

List<Country> countryList = new ArrayList<Country>();

public String executeAction() throws Exception {
  try {
     countryList = this.countrySecurityProcessor.findByAll(0, null, null, null, null, false, false, null, null, null, null, 0);
     System.out.println("countryList = "+countryList);
     return ActionSupport.SUCCESS;

  } catch (Exception ex) {
     return ActionSupport.ERROR;
  }

}

public List<Country> getCountryList() {
  return countryList;
}

相关文章