使用 DisplayTag 库框架通过 Struts2 进行分页
我想为我的应用程序的某些类应用分页,其中我使用 spring、struts2 和 struts2。 冬眠。 这里我从welcome.jsp 文件中调用action 类。 它具有以下代码:
<s:form action="marketing/allCountry.action">
<s:submit value="Click"></s:submit>
</s:form>
现在我的 java 的 allCountry.action
类具有以下代码:
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
的代码是:
<display:table list="countryList" requestURI="CountryAllAction" pagesize="3">
<display:column property="id" title="ID" />
<display:column property="name" />
</display:table>
现在在执行我的应用程序时,我收到如下运行时错误:
javax.servlet.ServletException:javax.servlet.ServletException: 异常:[.LookupUtil] 在对象类型中查找属性“id”时出错 “java.lang.String”。 原因:未知属性“id”
此类错误的解决方案是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您需要在您的操作中为您的国家/地区列表提供一个吸气剂。
You need to have a getter for your countryList in your action.
我对 Struts2 不熟悉,但似乎 DisplayTag 在任何范围内都找不到您的countryList。
我没有看到您将 CountryList 放入 from 或 request 中。 如果我不正确,您可能需要指定表单名称,例如
I'm not familiar with Struts2 but it seems that DisplayTag can't find your countryList in any scope.
I don't see you putting countryList in from or request. If I'm not right may be you need to specify form name like
<display:table list="${yourStrutsFormName.countryList}" ...
您需要使“countryList”对 DisplayTag 可用,例如通过在您的操作中执行以下操作
(除非有更聪明的 Struts2 方法来执行此操作)。 我认为您可以通过使其实现 ServletRequestAware
您还需要确保您的 Country 类具有 id 和 name 属性。
You need make "countryList" available to DisplayTag, e.g. by doing something like:
in your action (unless there's a cleverer Struts2 way of doing this). I think you can get hold of the request in your action by making it implement ServletRequestAware
You also need to make sure that your Country class has id and name properties.
使用以下代码。使用名称属性代替列表属性。
Use the following code.Instead of list attribute use name attribute.
你不需要做任何事情,只需在显示标签名称中使用列表变量即可
u dont need to do any thing just use list variable in display tag name i.e