私のstruts2 Webアプリケーションにページネーションを適用したいと思います。ユーザーがログインすると、ホームページにリダイレクトされます。このページでは、display
タグを使用してすべてのユーザーをページ区切りに表示します。ページ切り替えのためのStruts2のDisplayTag
私は研究を行い、最終的にこれを私のstruts2に統合しましたが、ログイン後にコードを実行すると、メッセージNothing found to display
が表示されます。
私がstruts1.3で同じことをしたところ、this siteからそれが動作しています。 私はlib
フォルダに次のJARファイルをコピーした:私はまた私のweb-inf
フォルダにdisplaytag.tld
とstruts-2.17.dtd
をコピーした
commons-logging.jar
commons-lang.jar
commons-collections.jar
commons-beanutils.jar
displaytag-1.2.jar
。
私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
0:以下は私のコードです
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.
私はわからないが、私の推測では、requestURI
とdisplaytag
のname属性上記のリンクの例では、彼らはname="sessionScope.UserForm.userList"
を使用しているためです。誰かが私が間違っていたことを教えてくれませんか?
あなたのJSPの始めにtaglibディレクティブに興味があります。私はstruts1への参照とこのstruts2のタグ付けについて非常に混乱しています。 – Quaternion
taglibディレクティブで質問を更新する@Quaternion – user1184777
私は表示タグを使用しないので、推測します。私の推測では、表示タグは通常のELを使用していますが、Struts2はOGNLを使用しています。だから、表示テーブルの "name"属性が "list"をスタックの一番上に押していないので、s2タグは彼らが何を使っているのか分からない...次の二つのことを試してみる:s2の代わりに " firstName "write" list.firstName "(何かが表示されたら、私が言ったことが真であることを知っている)、すべてのプロパティタグを" $ {fieldName} "に置き換えてみてください(angle bracketはありません!コースの名前]と何かが起こるかどうかを参照してください) – Quaternion