I want to apply pagination to my struts2 web application. When the user logs in, I am redirecting them to the home page, on which I want to display all the users in pagination using the display
tag.
I've done research and finally integrated this in my struts2, but when I run the code after login it displays the message Nothing found to display
.
When I've done the same thing in struts1.3 by taking example from this site it is working.
I have copied the following JAR files to my lib
folder:
commons-logging.jar
commons-lang.jar
commons-collections.jar
commons-beanutils.jar
displaytag-1.2.jar
I have also copied displaytag.tld
and struts-2.17.dtd
to my web-inf
folder.
Below is my code:
my profile.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%@taglib uri="http://displaytag.sf.net" prefix="display" %>
<%@taglib uri="/struts-tags" prefix="s" %>
<html>
<head>
</head>
<body>
<div id="wrapper">
<div id="steps">
<fieldset class="step">
<legend>Profile
</legend>
<display:table id="data" name="list" requestURI="/display.action" pagesize="1" >
<display:column sortable="true">
<p>
<label for="username">User Name</label>
<input id="username" name="username" value="<s:property value="firstName" />" disabled="disabled"/>
</p>
<p>
<label for="email">Father Name</label>
<input id="email" name="email" value="<s:property value="lastName"/>" disabled="disabled" />
</p>
<p>
<label for="password">Age</label>
<input name="password" value="<s:property value="dob"/>" disabled="disabled"/>
</p>
<p>
<label for="address">Address</label>
<input name="address" value="<s:property value="emailID"/>" disabled="disabled"/>
</p>
</fieldset>
</div>
</display:column>
</display:table>
</div>
</div>
</body>
</html>
Struts.xml
<action name="display" class="com.java.action.SearchAction">
<result name="success">/profile.jsp</result>
<result name="errror">/error.jsp</result>
</action>
SearchAction.java
private ArrayList<UserBean> list=new ArrayList<UserBean>();
//setter getter
public String execute()
{
UserBean rt=new UserBean();
SearchDB user=new SearchDB();
this.setList(user.search(gender,age_min,age_max,religion,caste,photo_display));
return SUCCESS;
}
UserBean.java
public class UserBean {
private String emailID;
private String userName;
private String gender;
private String dob;
private String firstName;
private String lastName;
private int Id;
//setter and getter
}
SearchDB.java
//code to get records. their is no problem here because it is taking records out from db fine.
I am not sure, but my guess is requestURI
and name attribute in displaytag
because in the example linked above, they are using name="sessionScope.UserForm.userList"
. Would someone please tell me where I did wrong?
You probably already solved it but anyway...Try OGNL like so :
It uses the getter of your user property directly. By the way, I'm not sure of your disabled tag. You should probably use readonly instead.