簡體   English   中英

顯示帶有struts2和jsp的ArrayList

[英]Display an ArrayList with struts2 and jsp

我正在嘗試學習struts2,所以這是一個非常基本的問題。

我有一個頁面input_database.jsp及其對應的類input_database.java

在類文件中,我有一個帶有變量和訪問器的字符串數組列表。 我想將其顯示在我的.jsp文件中

我一直在嘗試使用a來做到這一點,但是我認為我做的事情根本上是錯誤的。

這是我一直試圖在jsp文件中使用的代碼。 arraylist是稱為query_data的字符串的私有列表。 我的最終目標是顯示字符串數組列表的數組列表以顯示我的select語句,但是我需要首先弄清楚一些簡單的字符串。 如果有人知道我在做什么錯,或者可以將我引向我忽略的教程,那將是很棒的

謝謝

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

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

</s:iterator>

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

<%@ 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>

在屬性標簽中,提供要顯示的列表屬性。 假設您有一個在操作類List<User> userNames提交的List<User> userNames則可以按以下方式使用它。 其中,用戶類具有屬性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>
 <s:iterator  var="i" step="1" value="arraylistName">
 <s:property value="fieldName">
 </s:iterator>

ArrayList“ arrayListName”在struts動作中應該具有setter和getter。 ArrayList是某個對象,fieldName是對象包含的屬性的名稱。像Car是對象,而速度是其屬性。

如果要在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>

是一個工作示例(Netbeans 6.9項目),說明了如何迭代對象的數組或列表。

另外,如何提交表單,以便在提交時重新創建對象列表。

只需解決引用,然后繼續。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM