2010-12-05 52 views
1

私はstruts2を学習しようとしています。これはかなり基本的な質問です。struts2とjspでArrayListを表示

私はミューテータとアクセサを持つ文字列の配列リストを持っているページinput_database.jspを持ち、クラスファイル内の対応するクラスinput_database.java

。私はそれを私の.jspファイルの中に表示したい

私はそれをやろうとしてきましたが、根本的に何かをやっていると思います。

ここはjspファイルで使用しようとしているコードです。 arraylistはquery_dataと呼ばれる文字列のプライベートなリストです。私の究極の目標は、選択したステートメントを表示するために文字列のarraylistsのarraylistを表示することですが、私は最初にいくつかの簡単な文字列を把握する必要があります。誰もが私が間違ってやっていることを知っている、または私はそれが

おかげ

<s:iterator value="query_data" id="something"> 

      <s:property value="something"/><br /> 

</s:iterator> 

答えて

6

Display.java

import java.sql.Date; 
import java.util.ArrayList; 

import java.util.List; 

import com.opensymphony.xwork2.ActionSupport; 

public class Display extends ActionSupport{ 

    private static final long serialVersionUID = 1L;  
    List<PhoneBean> list = null; 

    public List<PhoneBean> getList() { 
     return list; 
    } 
    public void setList(List<PhoneBean> list) { 
     this.list = list; 
    } 

    public String execute() throws Exception{ 
     list = new ArrayList<PhoneBean>(); 

     PhoneBean bean = new PhoneBean(); 
     bean.setName("juan dela cruz"); 
     bean.setAge(17); 
     bean.setBirthDate(Date.valueOf("1987-1-1")); 
     bean.setContactNumber("12345"); 
     list.add(bean); 

     bean = new PhoneBean(); 
     bean.setName("john cruise"); 
     bean.setAge(14); 
     bean.setBirthDate(Date.valueOf("1988-2-2")); 
     bean.setContactNumber("67890"); 
     list.add(bean); 

     return SUCCESS; 
    } 

} 
素晴らしいことだ見落としてきたチュートリアルに私を指すことができる場合

PhoneBean.java

import java.sql.Date; 
public class PhoneBean { 
    private String name = null; 
    private int age = 0; 
    private Date birthDate = null; 
    private String contactNumber = null; 

    public String getContactNumber() { 
     return contactNumber; 
    } 
    public void setContactNumber(String contactNumber) { 
     this.contactNumber = contactNumber; 
    } 
    public String getName() { 
     return name; 
    } 
    public void setName(String name) { 
     this.name = name; 
    } 
    public int getAge() { 
     return age; 
    } 
    public void setAge(int age) { 
     this.age = age; 
    } 
    public Date getBirthDate() { 
     return birthDate; 
    } 
    public void setBirthDate(Date birthDate) { 
     this.birthDate = birthDate; 
    } 
} 

struts.xml

<!DOCTYPE struts PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
"http://struts.apache.org/dtds/struts-2.0.dtd"> 

<struts> 
    <package name="default" extends="struts-default"> 
     <action name="Display" class="phoneBook.Display"> 
      <result>/display.jsp</result> 
     </action> 
    </package> 
</struts> 

web.xmlの

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 

    <filter> 
     <filter-name>struts2</filter-name> 
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> 
    </filter> 

    <filter-mapping> 
     <filter-name>struts2</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 

    <session-config> 
     <session-timeout>30</session-timeout> 
    </session-config> 

    <welcome-file-list> 
     <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 

display.jspあなたはyou'r内のリストを使用したい場合は

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
    <%@ taglib prefix="s" uri="/struts-tags" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
</head> 
<body> 
<s:iterator status="stat" value="list"> 
<s:property value="name"/>  <s:property value="age"/> 
<s:property value="birthDate"/> <s:property value="contactNumber"/> 
</s:iterator> 
</body> 
</html> 
+1

私は上記の作業を行うことができませんでした。しかし、私は回避策を見つけました。 http://www.roseindia.net/jsp/usingbeansinjsp.shtml は、Java Beanと呼ばれるインラインJavaを使用して、別のデータベースクラスを使用するようにしています。 – Chris

0

jspページからイテレータまでですが、そのチェックの前にあなたのリストは空ではありません....

<s:iterator value="customerList" status="userStatus"> 

    <tr> 
     <td><s:property value="customerId" /></td> // Value is Y'r POJO Field 
     <td><s:property value="name" /></td> 
     <td><s:property value="address" /></td> 
    </tr> 

</s:iterator> 
0

Hereは、実施例オブジェクトの配列またはリストを反復処理する方法を説明する(Netbeansの6.9プロジェクト)です。

また、送信時にオブジェクトのリストが再作成されるようにフォームを送信する方法。

単に参照を解決してください。

2

プロパティタグでは、表示するリスト属性を指定します。 アクションクラスList<User> userNamesに申告があり、次のように使用できるとします。 UserクラスにはuserNameというプロパティがあります。

<s:iterator var="i" step="1" value="userNames"> 
     <s:property value="userName" ></s:property> 
    </s:iterator> 

または それは、単純なArrayListのであれば、あなたは使用することができ、次のように

List<Integer> integers; 

    <s:iterator var="i" step="1" value="integers"> 
     <s:property></s:property> 
    </s:iterator> 
+1

これを良い答えにするためのコード例をいくつか追加してください。 – sharakan

+0

Hey Sumit、Stackoverflowへようこそ。あなたは答えをより詳細にして、文脈や知識が少なくてもそれを読んで理解できるかもしれない将来も誰かに使用されることになります。 – Amar

1
<s:iterator var="i" step="1" value="arraylistName"> 
<s:property value="fieldName"> 
</s:iterator> 

ArrayListの "arrayListNameは、" Strutsアクションでのセッターとゲッターを持つべきです。 ArrayListは何らかのオブジェクトであり、fieldNameはobjectに含まれる属性の名前です。Carはオブジェクトであり、speedはその属性です。

+0

このソリューションは機能します。私は、JSPで目に見えないメソッドの中でArrayListを開始しました。グローバルに開始され、getter/setterの後は正常に動作します。ありがとう:) – Vigneshwaran

関連する問題